From: Junio C Hamano <junkio@cox.net>
To: Shawn Pearce <spearce@spearce.org>
Cc: git@vger.kernel.org
Subject: Re: Tracking branch history
Date: Sun, 14 May 2006 23:27:53 -0700 [thread overview]
Message-ID: <7vac9jx0nq.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <20060515055830.GC28068@spearce.org> (Shawn Pearce's message of "Mon, 15 May 2006 01:58:30 -0400")
Shawn Pearce <spearce@spearce.org> writes:
> This is all well and good but its sort of useless without the diffcore
> being able to lookup what SHA1 was valid on a given branch at a given
> point in time. :-)
>
> I'm thinking about extending the 'extended SHA1' syntax to accept
> a date (or date expression) as a suffix:
>
> HEAD@'2 hours ago'
> HEAD@'2006-04-20'
> HEAD@'2006-04-20 14:12'
>
> etc... This would be merged into get_sha1 (sha1_name.c) so its
> usable pretty much anywhere. Does this seem reasonable? If so
> I'll work up a patch for it.
HEAD?
Are you going to hook into symbolic-ref as well to track branch
switching?
Since there is no reverse pointer to tell which symbolic
reference is pointing at branch heads,and there are symbolic
references like refs/remotes/origin/HEAD that point at
refs/remotes/origin/master, detecting that such and such
symbolic refs are pointing at a branch that is advanced by a
call to update-ref and update the log for the symbolic refs that
point at it becomes rather expensive.
So probably you would need a separate log format that tracks
which concrete ref a symbolic ref was pointing at at any given
time and use that to keep track of them.
I personally doubt it is worth the trouble. I switch branches
between master, next and the topics all the time, and never is
interested in which branch I happened to be on 30 minutes ago.
The time-warp format would make sense for individual branches,
like refs/heads/master, though.
sha1_name.c and sha1_file.c were supposed to be real core, but
get_sha1() is looking more and more Porcelainish these days, and
I do not have much problem with being able to say "tip of this
branch, two hours ago".
I am not sure about the syntax though. We would want to be able
to say "start from the commit that was at the tip of 'master'
branch two days ago, grab its tree and look at arch/sparc64
directory", so things like
"master@2006-05-14 14:12"
"master@2006-05-14 14:12^{tree}"
"master@two days ago:arch/sparc64"
would need to be supported.
next prev parent reply other threads:[~2006-05-15 6:27 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-12 23:18 Tracking branch history Daniel Barkalow
2006-05-12 23:45 ` Linus Torvalds
2006-05-13 0:03 ` Linus Torvalds
2006-05-13 4:27 ` Daniel Barkalow
2006-05-13 3:40 ` Shawn Pearce
2006-05-13 4:38 ` Linus Torvalds
2006-05-13 4:56 ` Junio C Hamano
2006-05-13 7:17 ` Shawn Pearce
2006-05-13 7:43 ` Shawn Pearce
2006-05-13 15:20 ` Linus Torvalds
2006-05-13 16:43 ` Junio C Hamano
2006-05-13 18:18 ` Shawn Pearce
2006-05-14 23:14 ` Junio C Hamano
2006-05-15 3:15 ` Shawn Pearce
2006-05-15 5:58 ` Shawn Pearce
2006-05-15 6:27 ` Junio C Hamano [this message]
2006-05-15 6:38 ` Shawn Pearce
2006-05-15 9:53 ` Shawn Pearce
2006-05-13 15:11 ` Linus Torvalds
2006-05-13 12:53 ` Elrond
2006-05-14 23:16 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vac9jx0nq.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).