Re: SCSI trees, merges and git status
On Mon, 2005-04-18 at 17:29 -0700, Linus Torvalds wrote: > 2.6.12 is some time away, if for no other reason than the fact that this > SCM thing has obviously eaten two weeks of my time. So I'd be inclined to > chalk this up as a "learning experience" with git, and just go forward. Fair enough. If you pull from rsync://www.parisc-linux.org/~jejb/scsi-misc-2.6.git That will pull in the rest of my scsi-misc-2.6 tree (which includes all of the rc fixes). I've done a test pull and merge and checked the resulting against BK, so hopefully there should be no more screw ups. Doing this exposed two bugs in your merge script: 1) It doesn't like a completely new directory (the misc tree contains a new drivers/scsi/lpfc) 2) the merge testing logic is wrong. You only want to exit 1 if the merge fails. James git-merge-one-file-script: bec009e2c37bacc9e6f9cad1cfa5fd56752c7bf1 --- a/git-merge-one-file-script +++ b/git-merge-one-file-script @@ -13,6 +13,11 @@ # do any merges that migth change the tree layout # +# if the directory is newly added in a branch, it might not exist +# in the current tree +dir=$(dirname "$4") +mkdir -p "$dir" + case "${1:-.}${2:-.}${3:-.}" in # # deleted in both, or deleted in one and unchanged in the other @@ -40,7 +45,11 @@ case "${1:-.}${2:-.}${3:-.}" in orig=$(unpack-file $1) src1=$(unpack-file $2) src2=$(unpack-file $3) - merge "$src2" "$orig" "$src1" || echo Leaving conflict merge in $src2 && exit 1 + merge "$src2" "$orig" "$src1" + if [ $? -ne 0 ]; then + echo Leaving conflict merge in $src2 + exit 1 + fi cp "$src2" "$4" && update-cache --add -- "$4" && exit 0 ;; - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: SCSI trees, merges and git status
On Tue, 2005-04-19 at 10:10 +1000, David Woodhouse wrote: > On Mon, 2005-04-18 at 17:03 -0700, Linus Torvalds wrote: > > Git does work like BK in the way that you cannot remove history when you > > have distributed it. Once it's there, it's there. > > But older history can be pruned, and there's really no reason why an > http-based 'git pull' couldn't simply refrain from fetching commits > older than a certain threshold. Yes, that's what I did to get back to the commit just before the merge: fsck-cache --unreachable 54ff646c589dcc35182d01c5b557806759301aa3|awk '/^unreachable /{print $2}'|sed 's:^\(..\):.git/objects/\1/:'|xargs rm removes all the objects from the tree prior to the bogus commit---it's based on your (Linus') git-prune-script. James - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: SCSI trees, merges and git status
On Mon, 2005-04-18 at 17:03 -0700, Linus Torvalds wrote: > The patches from you I have in my tree are: > > scsi: add DID_REQUEUE to the error handling > zfcp: add point-2-point support > [PATCH] Convert i2o to compat_ioctl > [PATCH] kill old EH constants > [PATCH] scsi: remove meaningless scsi_cmnd->serial_number_at_timeout > field > [PATCH] scsi: remove unused scsi_cmnd->internal_timeout field > [PATCH] remove outdated print_* functions > [PATCH] consolidate timeout defintions in scsi.h Those are a subset of patches from my scsi-misc-2.6 tree .. that's the problem. The actual patches should be: o zfcp: convert to compat_ioctl o sg.c: update o updates for CFQ oops fix o finally fix 53c700 to use the generic iomem infrastructure o fix NMI lockup with CFQ scheduler I've redone the scsi-rc-fixes-2.6 tree to remove all the contamination and reset the head correctly. I've verified that if I strip your tree back to 54ff646c589dcc35182d01c5b557806759301aa3 and then do a git-pull-script rsync://www.parisc-linux.org/~jejb/scsi-rc-fixes-2.6.git Then the git-pull... script actually does the merge and the resulting tree checks out against BK Sorry for the screw up. James > or at least that's what they claim in their changelogs. > > Oh, and here's the diffstat that matches "scsi": > > drivers/block/scsi_ioctl.c |5 - > drivers/s390/scsi/zfcp_aux.c |4 - > drivers/s390/scsi/zfcp_def.h |5 + > drivers/s390/scsi/zfcp_erp.c | 20 + > drivers/s390/scsi/zfcp_fsf.c | 38 -- > drivers/s390/scsi/zfcp_fsf.h |6 + > drivers/s390/scsi/zfcp_sysfs_adapter.c |6 + > drivers/scsi/53c7xx.c | 23 +++--- > drivers/scsi/BusLogic.c|7 - > drivers/scsi/NCR5380.c |9 +- > drivers/scsi/advansys.c|7 - > drivers/scsi/aha152x.c | 17 ++-- > drivers/scsi/arm/acornscsi.c |9 +- > drivers/scsi/arm/fas216.c |9 +- > drivers/scsi/arm/scsi.h|2 > drivers/scsi/atari_NCR5380.c |9 +- > drivers/scsi/constants.c |2 > drivers/scsi/ips.c |7 - > drivers/scsi/ncr53c8xx.c | 14 --- > drivers/scsi/pci2000.c |4 - > drivers/scsi/qla2xxx/qla_dbg.c |6 - > drivers/scsi/scsi.c|5 - > drivers/scsi/scsi.h| 43 --- > drivers/scsi/scsi_error.c | 11 --- > drivers/scsi/scsi_ioctl.c |5 - > drivers/scsi/scsi_lib.c|2 > drivers/scsi/scsi_obsolete.h | 106 > - > drivers/scsi/scsi_priv.h |5 - > drivers/scsi/seagate.c |5 - > drivers/scsi/sg.c |3 > drivers/scsi/sun3_NCR5380.c|9 +- > drivers/scsi/sym53c8xx_2/sym_glue.c|6 - > drivers/scsi/ultrastor.c |4 - > > so it doesn't look like there's a _lot_ wrong. Send in a patch to revert > anything that needs reverting.. > > Linus > - > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: SCSI trees, merges and git status
On Mon, 2005-04-18 at 14:39 -0700, Linus Torvalds wrote: > > Linus, the rc-fixes repo is ready for applying ... it's the same one I > > announced on linux-scsi and lkml a while ago just with the git date > > information updated to be correct (the misc one should wait until after > > 2.6.12 is final). > > Ok. Can you verify? I did a "git diff" between your old head and my new > head, and it did not show any SCSI files (only the expected arm etc stuff > that you didn't have in your), so it all _looks_ good. But hey, just to > make sure that I didn't do anything stupid.. Actually, the verify fails, according to bitkeeper. It looks like the merge tree has contamination from the scsi-misc-2.6 tree ... possibly because the hosting system got the merged objects when I pushed. Could you strip it back and I'll check out the repos on www.parisc- linux.org? Thanks, James - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
SCSI trees, merges and git status
As of today, I have two SCSI git trees operational: rsync://www.parisc-linux.org/~jejb/scsi-rc-fixes-2.6.git and rsync://www.parisc-linux.org/~jejb/scsi-misc-2.6.git The latter has a non trivial merge in it because of a conflict in scsi_device.h, so merges actually do work ... The trees are exported from BK a changeset at a time (except the merge bits, which were done manually). I'll continue to accumulate patches in the BK trees for the time being since we don't have a nice web browser interface for the git trees (and also my commit scripts are all BK based). Linus, the rc-fixes repo is ready for applying ... it's the same one I announced on linux-scsi and lkml a while ago just with the git date information updated to be correct (the misc one should wait until after 2.6.12 is final). James - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] fix bug in read-cache.c which loses files when merging a tree
I noticed this when I tried a non-trivial scsi merge and checked the results against BK. The problem is that remove_entry_at() actually decrements active_nr, so decrementing it in add_cache_entry() before calling remove_entry_at() is a double decrement (hence we lose cache entries at the end). James read-cache.c: 4d4d94f75cceb8039eb466c1956f8b54dc0e24b6 --- read-cache.c +++ read-cache.c2005-04-18 13:08:09.0 -0500 @@ -402,7 +402,6 @@ if (pos < active_nr && ce_stage(ce) == 0) { while (same_name(active_cache[pos], ce)) { ok_to_add = 1; - active_nr--; if (!remove_entry_at(pos)) break; } - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html