Re: git-describe recognize modified files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Johannes Schindelin <Johannes.Schindelin@xxxxxx>
> To: tzachi perelstein <tzachi_perelstein@xxxxxxxxx>
> Cc: git@xxxxxxxxxxxxxxx
> Sent: Tue, January 19, 2010 12:35:41 PM
> Subject: Re: git-describe recognize modified files
> 
> Hi,
> 
> On Tue, 19 Jan 2010, tzachi perelstein wrote:
> 
> > I use git-describe to form a build version automatically. This allows me
> > to deliver temporary builds for testing without having to make manual
> > tags for them. The only thing that bothers me about this is that from
> > the output of git-describe I cannot tell if there are some modified
> > files in tree or not. In both cases I will get the same version. 
> > 
> > To solve this issue, in addition to git-describe, my do_version script
> > also run git-status, and if there are "modified:" files then it
> > concatenates the string "+dirty" to output of git-describe.
> 
> The problem is that this does not describe the exact version you used very 
> well.  If you are really serious about describing the exact state you 
> described, make a tag (committing the changes to a detached HEAD first, if 
> you do not want the changes in a real branch).
> 


Well yes, this is valid, but you will end up with a tag for every build... this goes way too far.

Consider the case where you have no modified files in your tree. The output of git-describe at some given point is 'v1.0.0-2-g123457' and during the build it becomes the build version. Now you make some changes, but before committing them you build, install, and run a test. During the second build, the output of git-describe remains the same 'v1.0.0-2-g123457' although it represent two different trees. This behavior looks like somewhat incomplete to me. It sounds reasonable to me to let git-describe have the option of indicating about modified files in tree, say 'v1.0.0-2-g123457-modified' or something similar. While 'v1.0.0-2-g123457' is something you and git can refer to (i.e. checkout), 'v1.0.0-2-g123457-modified' is not. By adding the "-modified" string, git tells you explicitly that it cannot fully describe the exact tree you're using.



      
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]