Re: SCSI trees, merges and git status

2005-04-18 Thread James Bottomley
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

2005-04-18 Thread James Bottomley
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

2005-04-18 Thread James Bottomley
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

2005-04-18 Thread James Bottomley
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

2005-04-18 Thread James Bottomley
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

2005-04-18 Thread James Bottomley
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