Re: [PATCH] git-gui: Handle git versions of the form n.n.n.GIT
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Jul 18, 2007, 02:54 UTC
- Message-ID
- <20070718025442.GX32566@spearce.org>
- In-Reply-To
- <46a038f90707171932m67c51388jb2304f0b1873e3a6@mail.gmail.com>
Martin Langhoff <martin.langhoff@gmail.com> wrote:
Show 6 quoted lines
> On 7/17/07, Shawn O. Pearce <spearce@spearce.org> wrote: > > Applying git-gui: Handle git versions of the form n.n.n.GIT > > > > I'm far from an authority on things TCL, but I don't think this patch > should be merged as is.
Too late, already applied and pushed. ;-)
> Julian is reporting it as a "fixes my symptom" > patch, and that's barely what it does. > > The regex should be more liberal, imho. With this superficial fix:
I think we are now cleaning up the Git version as best we can:
regsub -- {-dirty$} $_git_version {} _git_version
regsub {\.[0-9]+\.g[0-9a-f]+$} $_git_version {} _git_version
regsub {\.rc[0-9]+$} $_git_version {} _git_version
regsub {\.GIT$} $_git_version {} _git_versionThe first fixes the -dirty build problem. The second drops off the extra information that git-describe throws into the mix when it generates output for a non-tagged commit. The third kills the rc* component if this is a release candidate. Note that the rc* killer must come after the git-describe killer, as the rc* part is actually in the real tag. The last one fixes the weird case where the user has somehow bungled his git software distribution so it cannot generate a git version via git-describe *and* they have no `version` file in the source code directory. Such people really should fix their git. But anyway we do support it now.
> - Builds from a repo with a nonstandard (local) tagname tagname have > a broken git gui
This I cannot do anything about, other than maybe to warn the user that they are about to run with a version of Git that we cannot verify and hence we have no idea if git-gui will work correctly, or fall flat on its face.
I'll add in a confirmation dialog for this case. That way the user can make the decision. User always knows best.
-- Shawn.