[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Commits that aren't?

From: Tom Brunet <tomab_at_cs.wisc.edu>
Date: 2004-04-16 05:37:45 CEST

> I'm totally baffled. Does server-side inspection of the repository
> (using 'svnadmin' or 'svnlook', running as the proper user of course)
> reveal anything interesting?

I think I figured out part of the cause. I have a bunch of logs here to
show how I came to this conclusion.

My best guess is that this basically boils down to an AFS consistency
problem. Note that in most cases, I've used best-tux.cs.wisc.edu as a
URL - what I suddenly realized was that this picks the least loaded
machine at the time of the query to connect to (which apparently changed
between commands). So all the bizarre behavior, I believe, was because
I was updating the repository on one machine and AFS wasn't consistent
when the next command ran on another machine. Perhaps someone else has
a setup like this that they can verify this behavior?

What still bothers me about this is that the initial commit that started
this all was about an hour before my attempt to check out.. and I've
never noticed propogation issues before, so things must be consistent
relatively fast. We've also used CVS extensively around here and have
never had a problem that I'm aware of. I've even been able to tell
people on the machine next to me to check things out immediately after
checking them in. I'm still somewhat baffled, but I think I've at least
identified a way to safely go about my work.

Anyway, logs....
Tom

** Initial attempt - Convincing myself it's not a windows client problem
tux37(8)% svn co
svn+ssh://best-tux.cs.wisc.edu/u/t/o/tomab/private/subversion/repos/bugrepos
bugwc/
A bugwc/test1.txt
Checked out revision 1.
tux37(9)% cd bugwc
tux37(11)% echo blah >test2.txt
tux37(12)% svn add test2.txt
A test2.txt
tux37(13)% svn commit -m "blah" test2.txt
Adding test2.txt
Transmitting file data .
Committed revision 2.
tux37(14)% svn update
svn: Reference to non-existent revision '2' in filesystem
'/u/t/o/tomab/private/subversion/repos/bugrepos/db'

** It 'looks' like I can commit by ssh'ing to the same machine
tux37(18)% svn co
svn+ssh://tux37.cs.wisc.edu/u/t/o/tomab/private/subversion/repos/bugrepos
bugwc/
A bugwc/test1.txt
Checked out revision 1.
tux37(19)% cd bugwc/
tux37(20)% echo blah > test2.txt
tux37(21)% svn commit -m "blah" test2.txt
svn:
'/afs/cs.wisc.edu/u/t/o/tomab/private/subversion/repos/bugwc/test2.txt'
is not under version control
tux37(22)% svn add test2.txt
A test2.txt
tux37(23)% svn commit -m "blah" test2.txt
Adding test2.txt
Transmitting file data .svn upda
Committed revision 2.
tux37(24)% svn update
At revision 2.

** I attempt to connect to another machine to see if it's a firewall
problem somehow. Notice that the above commit doesn't appear at checkout.
tux37(30)% svn co
svn+ssh://tux33.cs.wisc.edu/u/t/o/tomab/private/subversion/repos/bugrepos
bugwc/
A bugwc/test1.txt
Checked out revision 1.
tux37(31)% cd bugwc
tux37(34)% echo This should not commit >test3.txt
tux37(35)% svn add test3.txt
A test3.txt
tux37(36)% svn commit -m "No dice" test3.txt
Adding test3.txt
Transmitting file data .svn
Committed revision 2.
tux37(37)% svn update
At revision 2.

** Baffled, I try a random machine again. This is where the radar
kicked in. Notice how I check out revision 2, commit revision 2, but..
  revision 2 can't update. My guess is three different machines are
being hit.
tux37(50)% svn co
svn+ssh://best-tux.cs.wisc.edu/u/t/o/tomab/private/subversion/repos/bugrepos
bugwc/
A bugwc/test2.txt
A bugwc/test1.txt
Checked out revision 2.
tux37(51)% cd bugwc
tux37(53)% echo Odd >odd.txt
tux37(54)% svn add odd.txt
A odd.txt
tux37(56)% svn -m "odd" commit odd.txt
Adding odd.txt
Transmitting file data .
Committed revision 2.
tux37(57)% svn up
svn: Reference to non-existent revision '2' in filesystem
'/u/t/o/tomab/private/subversion/repos/bugrepos/db'

** It gets better.. The database now shows revision 2, however I can't
check it out. *eyes pop out of head*
tux37(74)% ~/bin/svnlook youngest bugrepos
2
tux37(77)% ~/bin/svnlook info bugrepos/
tomab
2004-04-15 21:08:14 -0500 (Thu, 15 Apr 2004)
4
blah
tux37(79)% ~/bin/svnlook changed bugrepos/
A test2.txt
tux37(80)% svn co
svn+ssh://best-tux.cs.wisc.edu/u/t/o/tomab/private/subversion/repos/bugrepos
bugwc/
A bugwc/test1.txt
Checked out revision 1.
tux37(83)% svn co -r 2
svn+ssh://best-tux.cs.wisc.edu/u/t/o/tomab/private/subversion/repos/bugrepos
bugwc/
svn: Reference to non-existent revision '2' in filesystem
'/u/t/o/tomab/private/subversion/repos/bugrepos/db'
tux37(84)% ~/bin/svnlook history bugrepos
REVISION PATH
-------- ----
        2 /
        1 /
        0 /

** I get frustrated and start over. After toying around for awhile, I
notice that the commits/updates work when I specify a particular machine
instead of letting DNS direct me. I also can get it working from my
windows client that way.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Apr 16 18:41:12 2004

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.