git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] cvsserver: Fix for work trees
@ 2007-08-09  4:26 Brian Downing
  2007-08-09  5:45 ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Downing @ 2007-08-09  4:26 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Martin Langhoff, Brian Downing

git-cvsserver used checkout-index internally for commit and annotate.
Since a work tree is required for this to function now, this was
breaking.  Work around this by defining GIT_WORK_TREE=. in the
appropriate places.

Signed-off-by: Brian Downing <bdowning@lavos.net>
---
 git-cvsserver.perl |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index ae7d511..13dbd27 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -1196,6 +1196,7 @@ sub req_ci
     $log->info("Lockless commit start, basing commit on '$tmpdir', index file is '$file_index'");
 
     $ENV{GIT_DIR} = $state->{CVSROOT} . "/";
+    $ENV{GIT_WORK_TREE} = ".";
     $ENV{GIT_INDEX_FILE} = $file_index;
 
     # Remember where the head was at the beginning.
@@ -1721,6 +1722,7 @@ sub req_annotate
     $log->info("Temp checkoutdir creation successful, basing annotate session work on '$tmpdir', index file is '$file_index'");
 
     $ENV{GIT_DIR} = $state->{CVSROOT} . "/";
+    $ENV{GIT_WORK_TREE} = ".";
     $ENV{GIT_INDEX_FILE} = $file_index;
 
     chdir $tmpdir;
-- 
1.5.3.GIT

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] cvsserver: Fix for work trees
  2007-08-09  4:26 [PATCH] cvsserver: Fix for work trees Brian Downing
@ 2007-08-09  5:45 ` Junio C Hamano
  2007-08-09  8:45   ` Johannes Schindelin
  0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2007-08-09  5:45 UTC (permalink / raw)
  To: Brian Downing; +Cc: git, Martin Langhoff

Hmmmmm....

This is a good fix to adjust to the new world order introduced
by Dscho's rewrite of work-tree stuff, where the rules are:

 * When GIT_DIR is set and GIT_WORK_TREE is not, GIT_DIR is used
   to read config file, to figure out core.worktree.  When
   core.worktree is not set, a complicated algorithm is used to
   figure out the top of the working tree based on the value of
   GIT_DIR, and this can sometimes figure out that you are in a
   subdirectory of the working tree.  In such a case, you are in
   the working tree, but not necessarily at the top.

 * Otherwise, commands that require to have working tree now
   barf.  Earlier they always and consistently treated that your
   $cwd is the top of working tree and did not barf.

This new world order is probably an improvement, and if the
rules were like this from the beginning, it would have been
much nicer.  However, this _is_ a change of semantics in the
middle of the road, and probably we will see many fallouts like
this.  Unfortunate...  I am torn between a cleaner semantics and
the short-term pain...

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] cvsserver: Fix for work trees
  2007-08-09  5:45 ` Junio C Hamano
@ 2007-08-09  8:45   ` Johannes Schindelin
  0 siblings, 0 replies; 3+ messages in thread
From: Johannes Schindelin @ 2007-08-09  8:45 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Brian Downing, git, Martin Langhoff

Hi,

On Wed, 8 Aug 2007, Junio C Hamano wrote:

> This new world order is probably an improvement, and if the rules were 
> like this from the beginning, it would have been much nicer.  However, 
> this _is_ a change of semantics in the middle of the road, and probably 
> we will see many fallouts like this.  Unfortunate...  I am torn between 
> a cleaner semantics and the short-term pain...

With your warning at the beginning of the ReleaseNotes, I think it would 
be the same amount of pain if we did it later.  It just would be...  
later.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-08-09  8:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-09  4:26 [PATCH] cvsserver: Fix for work trees Brian Downing
2007-08-09  5:45 ` Junio C Hamano
2007-08-09  8:45   ` Johannes Schindelin

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).