* git-rev-tree @ 2005-11-08 2:12 Dave Jones 2005-11-08 2:33 ` git-rev-tree Linus Torvalds 2005-11-08 4:55 ` git-rev-tree Junio C Hamano 0 siblings, 2 replies; 6+ messages in thread From: Dave Jones @ 2005-11-08 2:12 UTC (permalink / raw) To: git Can someone remind me what the deprecated git-rev-tree command did, or how this should be fixed up to use newer git commands? I'm trying to get git-changes-script working, but all the variants I've found on the web use this deprecated tool. Any clues ? Dave ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: git-rev-tree 2005-11-08 2:12 git-rev-tree Dave Jones @ 2005-11-08 2:33 ` Linus Torvalds 2005-11-08 2:57 ` git-rev-tree Dave Jones 2005-11-08 4:55 ` git-rev-tree Junio C Hamano 1 sibling, 1 reply; 6+ messages in thread From: Linus Torvalds @ 2005-11-08 2:33 UTC (permalink / raw) To: Dave Jones; +Cc: git On Mon, 7 Nov 2005, Dave Jones wrote: > > Can someone remind me what the deprecated git-rev-tree command did, > or how this should be fixed up to use newer git commands? It was basically the same as "git-rev-list", except: - it output the date (as a raw number) in front, so pretty much everybody ended up using "cut" to remove it, sometimes after sorting the output numerically. Sorting numerically is unnecessary with git-rev-list, since the output is already sorted (not necessarily exactly by date, but by "recency" and/or by other even stricter sorting rules) - it was limited to a certain number of heads maximum (I forget, but I think it was 16). - it parsed the whole tree before outputting anything. > I'm trying to get git-changes-script working, but all the > variants I've found on the web use this deprecated tool. The git-changes-script was pretty broken. You're _much_ better off doing it by: - fetch the "remote" branch into the local repository. The "git-changes-script" thing required that you fetch the remote branch into _another_ repository, but still local. These days, just use a local branch in the same repo. So, for example, tracking my tree export KERNEL=master.kernel.org:/pub/scm/linux/kernel/git/ git fetch $KERNEL/torvalds/linux-2.6 master:linus which will just fetch my "master" branch into the local "linus" branch. - then just do git log linus..HEAD and you'll see exactly what you wanted: what exists in your HEAD but not in mine. No complex script required. Now, I've told some people that the diffstat is just the same (ie using a simple "git diff linus..HEAD | git-apply --stat") but that was because I've been muching some really awesomely bad 'shrooms. Clearly that doesn't work well at all, since it will show all the stuff I have in my branch reversed (since your head doesn't have it). The way to get a diff is really to do a merge, and throw the merge away after creating the diff. Ie something like this should work: git checkout -b merge-branch git merge "dummy merge" master linus && git-diff linus.. | git-apply --stat git checkout -f master git branch -D merge-branch which will also tell you if the merge failed (in which case you might not want to send me a "please pull", but instead try the merge locally and fix it up, and then try again) All of the above is obviously totally untested. Linus ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: git-rev-tree 2005-11-08 2:33 ` git-rev-tree Linus Torvalds @ 2005-11-08 2:57 ` Dave Jones 2005-11-08 3:35 ` git-rev-tree Linus Torvalds 0 siblings, 1 reply; 6+ messages in thread From: Dave Jones @ 2005-11-08 2:57 UTC (permalink / raw) To: Linus Torvalds; +Cc: git On Mon, Nov 07, 2005 at 06:33:30PM -0800, Linus Torvalds wrote: > export KERNEL=master.kernel.org:/pub/scm/linux/kernel/git/ > git fetch $KERNEL/torvalds/linux-2.6 master:linus > > which will just fetch my "master" branch into the local "linus" branch. > > - then just do > > git log linus..HEAD > > and you'll see exactly what you wanted: what exists in your HEAD but > not in mine. > > No complex script required. Ok, I must be doing something totally bone-headed. Because this is what I tried to do before I headed down the path of making that script work. Doing the above yields ... (18:47:37:davej@hera:agp2)$ export KERNEL=master.kernel.org:/pub/scm/linux/kernel/git/ (18:47:43:davej@hera:agp2)$ git fetch $KERNEL/torvalds/linux-2.6 master:linus davej@master.kernel.org's password: Packing 35335 objects Unpacking 35335 objects 100% (35335/35335) done * committish: d27ba47e7e8c466c18983a1779d611f82d6a354f branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git//torvalds/linux-2.6 * refs/heads/linus: storing branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git//torvalds/linux-2.6 which looks ok, but then when I do the git log linus..HEAD, I get no output at all. Whatever I'm doing wrong, I'm doing it consistently, as this happens in all my trees both locally, and on k.o *click*, ahh wait, I didn't have a 'linus' branch before I did that fetch. For the above to work, do I need there to be a 'linus' branch before I start making changes ? Or am I barking up the wrong tree ? Dave ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: git-rev-tree 2005-11-08 2:57 ` git-rev-tree Dave Jones @ 2005-11-08 3:35 ` Linus Torvalds 2005-11-08 3:43 ` git-rev-tree Dave Jones 0 siblings, 1 reply; 6+ messages in thread From: Linus Torvalds @ 2005-11-08 3:35 UTC (permalink / raw) To: Dave Jones; +Cc: git On Mon, 7 Nov 2005, Dave Jones wrote: > > (18:47:37:davej@hera:agp2)$ export KERNEL=master.kernel.org:/pub/scm/linux/kernel/git/ > (18:47:43:davej@hera:agp2)$ git fetch $KERNEL/torvalds/linux-2.6 master:linus > davej@master.kernel.org's password: > Packing 35335 objects > Unpacking 35335 objects > 100% (35335/35335) done > * committish: d27ba47e7e8c466c18983a1779d611f82d6a354f > branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git//torvalds/linux-2.6 > * refs/heads/linus: storing branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git//torvalds/linux-2.6 > > which looks ok, but then when I do the git log linus..HEAD, I get no output at all. You've got the right "linus" commit. However, are you aware that I did pull from you? If you don't have anything new, "no output at all" is the right thing. > *click*, ahh wait, I didn't have a 'linus' branch before I did that fetch. > For the above to work, do I need there to be a 'linus' branch before > I start making changes ? Or am I barking up the wrong tree ? No, the above will have created the "linus" branch as needed. Linus ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: git-rev-tree 2005-11-08 3:35 ` git-rev-tree Linus Torvalds @ 2005-11-08 3:43 ` Dave Jones 0 siblings, 0 replies; 6+ messages in thread From: Dave Jones @ 2005-11-08 3:43 UTC (permalink / raw) To: Linus Torvalds; +Cc: git On Mon, Nov 07, 2005 at 07:35:55PM -0800, Linus Torvalds wrote: > > > On Mon, 7 Nov 2005, Dave Jones wrote: > > > > (18:47:37:davej@hera:agp2)$ export KERNEL=master.kernel.org:/pub/scm/linux/kernel/git/ > > (18:47:43:davej@hera:agp2)$ git fetch $KERNEL/torvalds/linux-2.6 master:linus > > davej@master.kernel.org's password: > > Packing 35335 objects > > Unpacking 35335 objects > > 100% (35335/35335) done > > * committish: d27ba47e7e8c466c18983a1779d611f82d6a354f > > branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git//torvalds/linux-2.6 > > * refs/heads/linus: storing branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git//torvalds/linux-2.6 > > > > which looks ok, but then when I do the git log linus..HEAD, I get no output at all. > > You've got the right "linus" commit. > > However, are you aware that I did pull from you? If you don't have > anything new, "no output at all" is the right thing. I only just saw my changes turn up on the commits list, so I was completely unaware until now. Hohum. I'll figure it out next time I have something for you to pull again :) thanks, Dave ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: git-rev-tree 2005-11-08 2:12 git-rev-tree Dave Jones 2005-11-08 2:33 ` git-rev-tree Linus Torvalds @ 2005-11-08 4:55 ` Junio C Hamano 1 sibling, 0 replies; 6+ messages in thread From: Junio C Hamano @ 2005-11-08 4:55 UTC (permalink / raw) To: Dave Jones; +Cc: git Dave Jones <davej@redhat.com> writes: > Can someone remind me what the deprecated git-rev-tree command did, > or how this should be fixed up to use newer git commands? Alternatively, can somebody comment on the git-changes in the "pu" branch? ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-11-08 4:55 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-11-08 2:12 git-rev-tree Dave Jones 2005-11-08 2:33 ` git-rev-tree Linus Torvalds 2005-11-08 2:57 ` git-rev-tree Dave Jones 2005-11-08 3:35 ` git-rev-tree Linus Torvalds 2005-11-08 3:43 ` git-rev-tree Dave Jones 2005-11-08 4:55 ` git-rev-tree Junio C Hamano
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).