ericc <eric.chamberland@xxxxxxxxxxxxxxx> writes: > Actually, doing a 'cvs -n commit' will _do_ the commit... > With this patch, it now goes through the code, but don't do the commit. OK. > A further progress would be to do the pre-commit hook is possible... It is not clear what you meant here. > Eric Chamberland <Eric.Chamberland@xxxxxxxxxxxxxxx> > --- > git-cvsserver.perl | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/git-cvsserver.perl b/git-cvsserver.perl > index b8eddab..67ec4d0 100755 > --- a/git-cvsserver.perl > +++ b/git-cvsserver.perl > @@ -1395,6 +1395,9 @@ sub req_ci > push @committedfiles, $committedfile; > $log->info("Committing $filename"); > > + # Don't want to actually _DO_ the update if -n specified > + unless ( $state->{globaloptions}{-n} ) > + { > system("mkdir","-p",$dirpart) unless ( -d $dirpart ); > > unless ( $rmflag ) > @@ -1424,6 +1427,7 @@ sub req_ci > $log->info("Updating file '$filename'"); > system("git", "update-index", $filename); > } > + } > } I understand that you tried to make the patch smaller by avoiding re-indenting, but this is *yucky*. It looks to me that the above part could be solved with: unless (...) { next; } I think the function being patched is too big. Wouldn't it be better to have a refactoring patch to move the above per-path logic to a helper function that deals with a single path, and then insert the "omit call to that helper when run with -n" code in a separate patch? The same comment applies to the other hunk. Also I notice that the indentation used throughout the file is somewhat broken (e.g. "Emulate by running hooks/update" part is indented to 8 columns, but earlier parts use 4 space indent). The right structure for this change may be: Patch 1: Fix indentation (and do nothing else) to uniformly indent with HT; Patch 2: Refactor this big funciton using a handful of helper functions (and do nothing else); Patch 3: Omit calls to these helper functions under -n option. > @@ -1434,6 +1438,9 @@ sub req_ci > return; > } > > + # Don't want to actually _DO_ the update if -n specified > + unless ( $state->{globaloptions}{-n} ) > + { > my $treehash = `git write-tree`; > chomp $treehash; > > @@ -1537,7 +1544,7 @@ sub req_ci > print "/$filepart/1.$meta->{revision}//$kopts/\n"; > } > } > - > + } > cleanupWorkTree(); > print "ok\n"; > } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html