git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Wielemaker <wielemak@science.uva.nl>
To: git@vger.kernel.org
Subject: Re: git-cvsserver commit trouble (unexpected end of file in client)
Date: Wed, 3 Oct 2007 15:13:44 +0200	[thread overview]
Message-ID: <200710031513.44446.wielemak@science.uva.nl> (raw)
In-Reply-To: <200710031348.50800.wielemak@science.uva.nl>

On Wednesday 03 October 2007 13:48, Jan Wielemaker wrote:
> Hi,
>
> I'm pretty new to GIT. I quickly convinced our project to move to GIT,
> except for one guy that wants to do Windows and CVS :-( I setup a test
> and the checkout works just fine, but commit from cvs doesn't work. The
> details:
>
> 	* Server: git version 1.5.3.1 compiled on SuSE 10.2, 64-bits
> 	* Client, both SuSE CVS 1.12.12 and the current WinCVS cvs.exe,
> 	so it appears irrelevant.
>
> I created a test repository from a papers directory using the sequence
> beloe. (P.s. isn't there a more elegant way to get to a bare shared repo
> from a set of files? I tried (mkdir papers.git && cd papers.git && git
> --bare init --shared=all), but I can't clone an empty bare repository
> (doesn't create anything), so I can't add to it).
>
> 	% cd ~/tmp/papers
> 	% git-init
> 	% git-add .
> 	% git-commit
> 	% cd /home/git
> 	% git-clone --bare --no-hardlinks ~/tmp/papers/ papers.git
> 	% cd papers.git
> 	% git-config core.sharedrepository all
> 	% chmod g+ws `find . -type d`
> 	% chmod g+w `find . -type f`
>
> Anyway, appears to work fine with GIT to clone, pull and push.  Using
> CVS over SSH, I can checkout this just fine, creating HEAD.  Now I change
> a file and run "cvs commit" to get:
>
> gollem (2006) 11_> cvs commit -m "test"
> cvs [commit aborted]: end of file from server (consult above messages if
> any)

I start to get a clue.  Adding a line

	$log->info("Heads: " . `git show-ref --heads`);

I see this in the log:

	2007-10-03 14:13:44 : INFO  - Heads: 0b7b372d525a4fe7f662996fec9cd11b1038a6be 
refs/heads/master

Thus, I though I created the repository the wrong way.  Tried again,
following the recipy of 
http://www.kernel.org/pub/software/scm/git/docs/cvs-migration.html:

$ mkdir /pub/my-repo.git
$ cd /pub/my-repo.git
$ git --bare init --shared
$ git --bare fetch /home/alice/myproject master:master

Checked out freshly using CVS. No problem. But committing a change,
nothing changed :-( The log output is exactly the same, showing only
refs/heads/master. I'm starting to suspect git-cvsserver afterall, but
the docs suggests it is operational for quite a while. Could someone
give me a clue on what am I missed?

	Thanks --- Jan 

> I enabled logging and added a few statements to git-cvsserver (line 1203)
>
>     $log->info("Start git show-ref -s refs/heads/$state->{module}");
>     # Remember where the head was at the beginning.
>     my $parenthash = `git show-ref -s refs/heads/$state->{module}`;
>     $log->info("parenthash = $parenthash");
>     chomp $parenthash;
>     if ($parenthash !~ /^[0-9a-f]{40}$/) {
>             $log->warn("error 1 pserver cannot find the current HEAD of
> module");
>             exit;
>     }
>
> Then I get this log output:
>
> ================================================================
> 2007-10-03 12:25:16 : DEBUG - Temporary directory is '/tmp/XwYVFFqjyd'
> 2007-10-03 12:25:16 : DEBUG - req_Root : /home/git/papers.git
> 2007-10-03 12:25:16 : DEBUG - req_Validresponses : ok error Valid-requests
> Referrer Redirect Checked-in New-entry Checksum Co
> py-file Updated Created Update-existing Merged Patched Rcs-diff Mode
> Mod-time Removed Remove-entry Set-static-directory Clear
> -static-directory Set-sticky Clear-sticky Edit-file Template Clear-template
> Notified Module-expansion Wrapper-rcsOption M Mbi
> nary E F MT
> 2007-10-03 12:25:16 : DEBUG - req_validrequests
> 2007-10-03 12:25:16 : DEBUG - SEND : Valid-requests remove add status Entry
> watchers ci tag log co Modified Questionable admi
> n Root history valid-requests Global_option Argumentx annotate
> Valid-responses Unchanged Directory rlog Argument expand-modul
> es diff editors update
> 2007-10-03 12:25:16 : DEBUG - SEND : ok
> 2007-10-03 12:25:16 : DEBUG - req_Globaloption : -q
> 2007-10-03 12:25:16 : DEBUG - Argument : -m
> 2007-10-03 12:25:16 : DEBUG - Argument : test
> 2007-10-03 12:25:16 : DEBUG - Argument : --
> 2007-10-03 12:25:16 : INFO  - Setting prepend to '2006/'
> 2007-10-03 12:25:16 : DEBUG - Prepending '2006/' to state|directory
> 2007-10-03 12:25:16 : DEBUG - req_Directory : localdir=.
> repository=/home/git/papers.git/HEAD/2006 path=2006/ directory=2006/
>  module=HEAD
> 2007-10-03 12:25:16 : INFO  - Received entry line '/README.txt/1.1///'
> => '2006/README.txt'
> 2007-10-03 12:25:16 : DEBUG - Argument : README.txt
> 2007-10-03 12:25:16 : INFO  - req_ci : [NULL]
> 2007-10-03 12:25:16 : INFO  - Lockless commit start, basing commit
> on '/tmp/XwYVFFqjyd/ud4uGbbUJg', index file is '/tmp/XwYVF
> Fqjyd/3FeXMladmb'
> 2007-10-03 12:25:16 : INFO  - Start git show-ref -s refs/heads/HEAD
> 2007-10-03 12:25:16 : INFO  - parenthash =
> 2007-10-03 12:25:16 : WARN  - error 1 pserver cannot find the current HEAD
> of module
> ================================================================
>
> I don't like the req_ci : [NULL] very much, and the last 3 lines clearly
> shows a problem.  I checked
> the latest git repository of git. There is no change to git-cvsserver.perl.
>
> I'm still a bit too newbie to (and not much of a Perl programmer).  Does
> anyone has a clue?  Do I have
> the wrong version for something?  Did I setup the repository wrongly?
>
> 	Thanks --- Jan
>
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2007-10-03 13:19 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-03 11:48 git-cvsserver commit trouble (unexpected end of file in client) Jan Wielemaker
2007-10-03 13:13 ` Jan Wielemaker [this message]
2007-10-03 14:57   ` Jan Wielemaker
2007-10-03 16:11 ` Johannes Schindelin
2007-10-03 18:42   ` Jan Wielemaker
2007-10-03 18:55     ` Johannes Schindelin
     [not found] ` <200710032325.55128.wielemak@science.uva.nl>
     [not found]   ` <Pine.LNX.4.64.0710032311480.28395@racer.site>
2007-10-04  7:27     ` Jan Wielemaker
2007-10-04 11:18       ` git-cvsserver commit trouble BUG+Work-around Jan Wielemaker
2007-10-04 12:56         ` Johannes Schindelin
2007-10-04 13:06           ` Jan Wielemaker
2007-10-04 15:29             ` [PATCH/RFT] cvsserver: only allow checkout of branches Johannes Schindelin
2007-10-04 16:18               ` Frank Lichtenheld
2007-10-04 16:32                 ` Johannes Schindelin
2007-10-04 17:06               ` Jan Wielemaker
2007-10-04 17:18                 ` Johannes Schindelin
2007-10-04 18:04                 ` Frank Lichtenheld
2007-10-04 21:15               ` Frank Lichtenheld
2007-10-04 21:49                 ` Johannes Schindelin
2007-10-04 21:55                   ` Shawn O. Pearce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200710031513.44446.wielemak@science.uva.nl \
    --to=wielemak@science.uva.nl \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).