Re: How to find out the rev number where a file was deleted?

2010-12-01 Thread Andrey Repin
Greetings, Les Mikesell!

 Still, this should at least produce some results:  (as long as foo 
 existed
 in rev 3)
 svn log -r 0:head file://${HOME}/trash/repo/f...@3
 svn: File not found: revision 5, path '/foo'
 It makes no sense for svn to complain about what's in rev 5.  My query
 doesn't care about rev 5.

 I think the principle was covered in another response, but the only way
 you can get history is to start from the highest rev and follow
 backwards, and you are asking it to start from head, which is impossible.

 Impossible within current realization of storage backend. But sensible from
 user's viewpoint and scheduled to be resolved in future.
 I'd ask you to stop giving out your own opinion under mask of absolute 
 truth.

 I'm admittedly not an expert, but I don't understand exactly how this
 can be resolved to work the way you want when the names of objects are
 only loosely connected to the objects themselves.

 This is not a problem at all.
 The simplest solution I can imagine is to maintain a table
 revision|URL|action|previous_revision|previous_URL

 Walking this table back and forth is as quick as any usual database 
 operation.

 What database operation is fast when it has to follow recursive 
 self-references in the same table?

SELECT operation, even on a multitude of arguments, is relatively fast.
Hell, even UNION JOIN over a NetFlow data is just about a few seconds.

 Each time you copy a high level directory (typical for users that tag
 frequently) you'd have to have an entry for every path below it.  When you
 follow forward, you'll explode out a tree of new paths.

Not a problem, really. This is strictly server-side operation, means it is
done on a fast backend, not affected by network issues. Doubt it could be
slower than real-time walking on a graph with 6k points.

 And some new command could be added to svn program to give result similar to
 status command, but including revision numbers.
 Something like
 A  5 /trunk/frontend/fig1.php
 MM 7 /trunk/frontend/fig1.php
 M  8 /trunk/frontend/fig1.php
 D  26 /trunk/frontend/fig1.php
 A  57 /trunk/frontend/f-o.php
 R  58 /trunk/frontend/fig1.php
 C  59 /branch/xxx/frontend/fig1.php
 GM 77 /trunk/frontend/fig1.php

 And how should this look if every operation is a move/rename? Or copies 
 followed by different renames out each branch?

I specifically mentioned this moment it in the part you striped from quote.

 If it start to branch, each of these files will have it's own tracking onward
 from the branching point. Nothing wrong with it. Or do you concerned with
 tracking request output? It's not a problem either. As long as URL wasn't
 renamed/deleted, it should keep giving out the mainline.

 But that's the point.  Things are copied and moved regularly.  And 
 renamed temporarily and then back.

Nota a concern. Mainline go on and at some point die (if at all), giving all
sort of hints, as to where to look further, in process.
If you REALLY want to see if the file was moved back instead of merging, you'd
run a new trace from one of the branching points.

 You're right that u...@peg form an unique identity, but making a mistake
 thinking about URL across whole range of history. As you pointed out, URL
 alone isn't enough to identify the file. But that's not a problem, because
 Subversion wouldn't be working over whole repository, only with each revision
 it know of, sequentially.

 There's only one way back through history but no limit to future 
 branches if you want it to look forward.

There CURRENTLY only one way - back. This is a deficiency of current backend
realization. And amount of future branches is not a problem at all, if you
stop banging your head over it.

 I can see that subversion could, with some extra work on the server
 side, track down the end of the line in the future of f...@3 by examining
 every subsequent revision when you ask for:
 svn log -r 0:head file://${HOME}/trash/repo/f...@3
 But what should it do if a different object with the same name but a
 different history has been copied into head where you are really asking
 it to start giving history?

 If it'd be implemented right, Subversion would not see these files at all.
 It'd simply NOT look into HEAD in first place.

 It only looks in head because that command asks it for the history of 
 head.

No.
Really, I see this as pointless discussion. You absolutely don't hear my
arguments.

P.S.
Please don't use reply to all in reply to my posts. It's not a big problem
deleting a few more messages from my inbox, still it's disturbing.
TIA.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 01.12.2010, 14:07

Sorry for my terrible english...



Re: How to find out the rev number where a file was deleted?

2010-11-30 Thread Andrey Repin
Greetings, Les Mikesell!

 Still, this should at least produce some results:  (as long as foo existed
 in rev 3)
   svn log -r 0:head file://${HOME}/trash/repo/f...@3
   svn: File not found: revision 5, path '/foo'
 It makes no sense for svn to complain about what's in rev 5.  My query
 doesn't care about rev 5.

 I think the principle was covered in another response, but the only way 
 you can get history is to start from the highest rev and follow 
 backwards, and you are asking it to start from head, which is impossible.

Impossible within current realization of storage backend. But sensible from
user's viewpoint and scheduled to be resolved in future.
I'd ask you to stop giving out your own opinion under mask of absolute truth.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 30.11.2010, 16:36

Sorry for my terrible english...



Re: AW: How to find out the rev number where a file was deleted?

2010-11-30 Thread Andrey Repin
Greetings, Les Mikesell!

 Binary search on the 0 to HEAD revision range is a possibility, but it's
 also a rather wasteful workaround.

 Fisheye (a commercial product) does a brute-force extract/index of all
 the filenames and content in all revs in a repo for quick searches.
 I'm not sure if there is any equivalent open source program but this is
 probably the right answer for anyone who needs to do that frequently.

 Sorry, do you mean that we have to pay to cover the lack of functionality in
 Subversion? And it should remain this way?

 Yes, I would not expect fast indexed full-text searches across names and 
 content 
 to ever be a part of the version control system itself.  But the 
 functionality 
 to find filename changes is there - just 'log -v' from the top.

Where you see a reference to full-text search in my quote? I have intentionally
omit that part of your reply.

 There's a big problem here - whether a URL exists or not usually isn't
 the right answer for things that have been deleted and replaced by
 something else of the same name.

 I strongly suspect that Ludwig had in mind that Subversion could track
 revisions in which file has been changed in either way.
 Then no way you could confuse between different files with same URL.

 It does track that, but I don't think there is a convenient way to ask for 
 it. 
 Or for the server itself to find it efficiently.

It only track it back into the past.
There's no sane way to track it forward currently.
I see some complications in implementation of this ability, mainly in the
controversial way it should work (i.e. alter multiple previous revisions to
embed the forward tracking links, or to maintain a parallel base for them).


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 30.11.2010, 21:10

Sorry for my terrible english...



Re: How to find out the rev number where a file was deleted?

2010-11-30 Thread Andrey Repin
Greetings, Les Mikesell!

 Still, this should at least produce some results:  (as long as foo existed
 in rev 3)
svn log -r 0:head file://${HOME}/trash/repo/f...@3
svn: File not found: revision 5, path '/foo'
 It makes no sense for svn to complain about what's in rev 5.  My query
 doesn't care about rev 5.

 I think the principle was covered in another response, but the only way
 you can get history is to start from the highest rev and follow
 backwards, and you are asking it to start from head, which is impossible.

 Impossible within current realization of storage backend. But sensible from
 user's viewpoint and scheduled to be resolved in future.
 I'd ask you to stop giving out your own opinion under mask of absolute truth.

 I'm admittedly not an expert, but I don't understand exactly how this 
 can be resolved to work the way you want when the names of objects are 
 only loosely connected to the objects themselves.

This is not a problem at all.
The simplest solution I can imagine is to maintain a table
revision|URL|action|previous_revision|previous_URL

Walking this table back and forth is as quick as any usual database operation.
And some new command could be added to svn program to give result similar to
status command, but including revision numbers.
Something like
A  5 /trunk/frontend/fig1.php
MM 7 /trunk/frontend/fig1.php
M  8 /trunk/frontend/fig1.php
D  26 /trunk/frontend/fig1.php
A  57 /trunk/frontend/f-o.php
R  58 /trunk/frontend/fig1.php
C  59 /branch/xxx/frontend/fig1.php
GM 77 /trunk/frontend/fig1.php

(Yes, there's a reference to the moment file has been Copied, but that's only
made for reference, to give investigator an idea of what could've been done to
the file, and where to look. As you can see, the file was merGed back to the
trunk in my example, but no mention if it was edited in between 59 and 77 -
you'd have to run another track for that file in branch to discover that)

 That is, a path and revision in peg revision form uniquely identifies an
 object, and that object has a certain amount of history.
 However that same path at any other revision may be an entirely different
 object with a different history or may not exist at all.  If subversion
 starts to track the 'copy-to' info so you can follow revisions in the
 forward direction, you can end up with many different descendants with
 different paths, but it's not clear that would make it any easier to find
 the dead ends of deletions.

If it start to branch, each of these files will have it's own tracking onward
from the branching point. Nothing wrong with it. Or do you concerned with
tracking request output? It's not a problem either. As long as URL wasn't
renamed/deleted, it should keep giving out the mainline.

You're right that u...@peg form an unique identity, but making a mistake
thinking about URL across whole range of history. As you pointed out, URL
alone isn't enough to identify the file. But that's not a problem, because
Subversion wouldn't be working over whole repository, only with each revision
it know of, sequentially.

 I can see that subversion could, with some extra work on the server 
 side, track down the end of the line in the future of f...@3 by examining 
 every subsequent revision when you ask for:
 svn log -r 0:head file://${HOME}/trash/repo/f...@3
 But what should it do if a different object with the same name but a 
 different history has been copied into head where you are really asking 
 it to start giving history?

If it'd be implemented right, Subversion would not see these files at all.
It'd simply NOT look into HEAD in first place.

 Also, when you copy a directory in subversion, you expect it to bring 
 along all of the history of that directory and the objects under it.  If 
 you want it to remember that a deleted object once lived under a certain 
 path, when that path is copied, would you also want it to think that the 
 deleted object was once under this new copied path?

You asking a question that has no meaning. Subversion copy copies current
state. Deleted files do not present in it.
I don't see any problem. Or clarify your question. (provide use-case?)


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 30.11.2010, 21:22

Sorry for my terrible english...



Re: AW: How to find out the rev number where a file was deleted?

2010-11-27 Thread Andrey Repin
Greetings, Les Mikesell!

 The deletion should show in an 'svn log -v' of the directory where the file 
 was
 deleted.

 That directory was deleted as well. As well, at unknown revision. Multiple 
 times.

 The question is not that we can work around the issue, the question is, why
 Subversion can't do this for us?

 Because the file doesn't exist in the revision where it was deleted so 
 there's 
 nothing for the log to be about.

That's a flaw, but well, I can live with it as long as there's other ways to
get necessary info.

 The change for that rev happened in the directory above.

I'm looking for directory already, as file history would not show me the
necessary data. Dunno why... is it hard to track file from PEG revision to
first operative revision and print out the logs for every revision, in which
that file were changed, and spit the not found in rev X when the file
disappear? Why it even think that file could exist in HEAD, when we
unambiguously pointed to the specific point in time? 

 I can understand that it's not easy to track deletes/copies forward, but
 tracking history from creation time to deletion(renamind implies
 deletion) time should be possible IMO.

 It is not that it isn't tracked.  It just isn't tracked where you are looking 
 for it.

I'm looking for it at revision 2.

[C:\]$svn log -v -r 0:HEAD -- http://svn.darkdragon/repos/t...@2
svn: '/repos/!svn/bc/35/test' path not found

[C:\]$svn log -v -r 0:3 -- http://svn.darkdragon/repos/t...@2

r1 | anrdaemon | 2009-04-02 17:55:17 +0400 (×ò, 02 àïð 2009) | 2 lines
Changed paths:
   A /test
   A /test/a

Test1


r2 | anrdaemon | 2009-04-02 17:56:13 +0400 (×ò, 02 àïð 2009) | 1 line
Changed paths:
   A /test/b

test 2

r3 | anrdaemon | 2009-04-02 17:56:48 +0400 (×ò, 02 àïð 2009) | 1 line
Changed paths:
   R /test/a

Test 3



 And this should be possible without user's guesswork. It's fairly simple to
 find correct revision range in repository with 40 commits.
 In repository with 40,000 commits things became a bit scary.

 Subversion tracks things backwards from a starting point that is either 
 something that exists or a peg revision where it did exist.

I know. Quite. And if you didn't noticed, I specifically specified (LOL) a PEG
revision... With exactly that intent - to get around absence of file in HEAD...

 You can find where things were deleted with a 'log -v' of a directory high
 enough in the repository to contain the change, then use the previous
 revision  as the peg rev for the thing you want to log from there back while
 it existed. 

Project contains 40,000 revisions, about 800 files, like eight branches, that
was created/deleted/recreated at some point each, and approximately 25 tags
denoting stable builds.
Good luck finding directory LOW enough that allow you to find a file without
use of a sophisticated log parser, since revision numbers are not connected to
changed files in any way suitable for meaningful grep'ing.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 28.11.2010, 5:50

Sorry for my terrible english...



Re: AW: How to find out the rev number where a file was deleted?

2010-11-27 Thread Andrey Repin
Greetings, Les Mikesell!

 The change for that rev happened in the directory above.

 I'm looking for directory already, as file history would not show me the
 necessary data. Dunno why... is it hard to track file from PEG revision to
 first operative revision and print out the logs for every revision, in which
 that file were changed, and spit the not found in rev X when the file
 disappear?

 It doesn't track the future of a file, it tracks the history. Start with a 
 peg 
 revision

Wat? It start with HEAD irrelevant to what PEG revision we've specified.
And immediately spitting no such file, although the file is 100% there.

 of the revision before the delete and the log will track it back 
 through it's entire history.

 Why it even think that file could exist in HEAD, when we
 unambiguously pointed to the specific point in time?

 It won't look towards HEAD unless you request that in the revision range for 
 the 
 log, and then it will be impossible.

I specified PEG revision. Documentation clearly states that PEG revision has
precedence over operative revision in conflicting names resolution, but for
absent files (name conflicting with void) it not seems to be the case.

 I can understand that it's not easy to track deletes/copies forward, but
 tracking history from creation time to deletion(renamind implies
 deletion) time should be possible IMO.

 Actually, while renaming implies deletion, it is not a loss of history.

Yes, but it's still a deletion.

 The log of the renamed file will have it, as will the directories containing
 the changes to the names.

Unfortunatelly. It only show that file was renamed, but does not show the new
name. (Or old name? One of them - see the log below)

 It is not that it isn't tracked.  It just isn't tracked where you are 
 looking
 for it.

 I'm looking for it at revision 2.

 [C:\]$svn log -v -r 0:HEAD -- http://svn.darkdragon/repos/t...@2
 svn: '/repos/!svn/bc/35/test' path not found

 But you are asking it to track the future of that file to a place it doesn't 
 exist.

I beg to differ.
I'm asking to
1. Pick the file (directory) /test at revision 2
2. Track it's changes history from revision 0 to HEAD.
3. I'm fully aware that the directory does not exist in HEAD, neither I ask
Subversion to look there in first place. (literal meaning of first place)
4. Quite (un)surprisingly, my intent is to actually find revision, in which
the destruction was made. Because, quite (un)surprisingly, I don't know that.

See the order of instructions? Do I need to refer to the svnbook chapter
discussing PEG and operative revisions, or you can find it yourself?

 [C:\]$svn log -v -r 0:3 -- http://svn.darkdragon/repos/t...@2
 
 r1 | anrdaemon | 2009-04-02 17:55:17 +0400 (×ò, 02 àïð 2009) | 2 lines
 Changed paths:
 A /test
 A /test/a

 Test1

 
 r2 | anrdaemon | 2009-04-02 17:56:13 +0400 (×ò, 02 àïð 2009) | 1 line
 Changed paths:
 A /test/b

 test 2
 
 r3 | anrdaemon | 2009-04-02 17:56:48 +0400 (×ò, 02 àïð 2009) | 1 line
 Changed paths:
 R /test/a

 Test 3
 


 And this should be possible without user's guesswork. It's fairly simple to
 find correct revision range in repository with 40 commits.
 In repository with 40,000 commits things became a bit scary.

 Subversion tracks things backwards from a starting point that is either
 something that exists or a peg revision where it did exist.

 I know. Quite. And if you didn't noticed, I specifically specified (LOL) a 
 PEG
 revision... With exactly that intent - to get around absence of file in 
 HEAD...

 But you can only expect it to track the history and it appeared that you 
 wanted 
 to track the future to HEAD.

I could have pointed to any other of the revisions between @PEG and HEAD,
which will net the very same result - unless I guess it right, the process
will not start at all.

 I guess it could be more polite about giving you the revisions it can find
 along with the error. 

Nah, it could just obey to @PEG rule. Everything will be simpler.
Unless there's absolutely no other way to track the file from @PEG, which i
doubt, since you DO can access the file by @PEG, as well as navigate back in
time easier, than forward.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 28.11.2010, 9:13

Sorry for my terrible english...



Re: Release Repositories

2010-11-22 Thread Andrey Repin
Greetings, David Weintraub!

 Any ideas of any software that can handle this.

You'd be surprised, but the very filesystem (in Unix/Linux at least) support
trigger mechanism. All you need is to write appropriate filter.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 22.11.2010, 19:09

Sorry for my terrible english...



Re: Release Repositories

2010-11-22 Thread Andrey Repin
Greetings, Les Mikesell!

 Realistically, you probably don't need to kick off the job the instant
 the filesystem changes - you'll at least want to wait until the file 
 transfer completes.  I'd expect a scheduled job running from cron on 
 linux or the windows task scheduler checking for new files every few 
 minutes to work at least as well as your existing manual process and 
 avoid any OS/filesystem dependencies (i.e. it could run from linux 
 checking a smb/cifs mounted windows filesystem or the reverse if you want).

Cron job won't be able to know if file transfer is completed. It will have to
guess from, e.g., testing the archive (if it's archive) for integrity.
filesystem notification mechanism will for sure know, when the iostream got
filewriteclose event.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 23.11.2010, 5:53

Sorry for my terrible english...



Re: Version caching

2010-11-21 Thread Andrey Repin
Greetings, Kevin Connor Arpe!

 I have a question about version caching.  I am using the latest
 (stable) version on both Linux and WinSlows.

 As I understand Subversion, once a version is committed, basically it
 can never changed.  A version is written in stone.

 If that is true, I was hoping Subversion could cache each versioned
 copy that it downloads.  Currently, it seems running log, diff,
 and merge takes quite some time (I am very far away from my
 Subversion server at work... half the world.)

I strongly suggest you read http://svnbook.org/ before asking any questions
about Subversion.

 Is there an add-on or option I can use to ask Subversion to never
 throw away a version it sees?

For this your question, there's two answers, equally right.
1. It is a native property of a Subversion.
2. It's not possible, nor it is realistically applicable.

 That way if I run log or merge or diff against an older version I have
 seen before... poof!  it is immediately available.

 I thought about mirroring the server in read-only mode, but I really
 just want a local cache for versions that I might be looking at.

That's the same.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 21.11.2010, 18:33

Sorry for my terrible english...



Re: Can't see the wood for the trees (or: what are my branches called?)

2010-11-19 Thread Andrey Repin
Greetings, Gary!

 Thanks (both of you). I'd have appreciated it even more if you had
 followed the Mail-Copies-To: never header.

That is not standard header. If you really do not wish to receive personal
reply, set the Reply-To address back to the mailing list, which is the right
way to do this.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 19.11.2010, 23:32

Sorry for my terrible english...



Re: Promoting a mirror repository as a source repository

2010-11-06 Thread Andrey Repin
Greetings, Gingko!

 I have a (now theoretical) question :

 Suppose I have a repository that is a mirror repository of a remote 
 source
 repository, regularly synced using svnsync.

 Suppose now that the source repository become broken or deleted for any
 reason (server breakdown, fire, etc)
 So the only available copy of the repository is now the synced mirror
 repository.

 How could I promote my mirror repository in order to have it becoming the
 new source repository on the mirror server or on another server ?

 (I think that just using the mirror repository without change is not 
 enough
 as it contains somewhere inside it information about the old source
 repository, given at the beginning by svnsync initialize, which would
 certainly need to be removed)

 svn help switch
 http://svnbook.org/

 Thank you very much for your answer, but I'm sorry, this is not an answer to 
 my question.

 svn switch is about changing URLs in working copies, I know how to do this 
 (actually I made several of these changes today).

I gave you both answers. If you are too lazy to pick them, sorry, it's not my
problem.

 But what I want to know is what I have to do on the REPOSITORY side.

Most generalized answer: nothing. Details depends on your exact setup.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 06.11.2010, 19:54

Sorry for my terrible english...



Re: What is the best client with GUI for svn?

2010-11-06 Thread Andrey Repin
Greetings, San Martino!

 what is the most stable client with GUI for svn for use in a
 production environment from an user point of view (non-admin)?

 The features it should provide are , in  order of priority:
 - stability
 - coverage for all the most important (sub)commands of the default svn
 client commands for the user
 - compatibility with Windows (with other systems is a surplus)
 - multi-language
 - if possible, web interface to be used from within firefox or explorer

Most stable GUI client is a commandline tool.
To clarify: your question is just ridiculous, both in form and by meaning.
For different projects, for different tools used by actual laborers involved,
many answers will be equally true.
Just to give you an example: we were working on the same PHP project.
I'm using FAR manager, and commandline svn client is best for me. Other person
was using Eclipse and it's integrated Subversion capabilities to the same
extent. There's not even a slight chance either of us would be using something
else, that would drastically reduce performance for one of us, or both.
More at pediwikia: http://en.wikipedia.org/wiki/Subversion_%28software%29


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 06.11.2010, 19:56

Sorry for my terrible english...



Re: Promoting a mirror repository as a source repository

2010-11-05 Thread Andrey Repin
Greetings, Gingko!

 I have a (now theoretical) question :

 Suppose I have a repository that is a mirror repository of a remote source 
 repository, regularly synced using svnsync.

 Suppose now that the source repository become broken or deleted for any 
 reason (server breakdown, fire, etc)
 So the only available copy of the repository is now the synced mirror 
 repository.

 How could I promote my mirror repository in order to have it becoming the 
 new source repository on the mirror server or on another server ?

 (I think that just using the mirror repository without change is not enough 
 as it contains somewhere inside it information about the old source 
 repository, given at the beginning by svnsync initialize, which would 
 certainly need to be removed)

svn help switch
http://svnbook.org/



--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 06.11.2010, 3:29

Sorry for my terrible english...



Re: RES: Subversion 1.6.13 Released

2010-10-26 Thread Andrey Repin
Greetings, Cooke, Mark!

  I am using SSPI alongside David's 1.6.13 builds (thanks again,
 David!)
  on apache on a windoze server box with no problems.
 
  From recent list traffic, issues with large commits failing seem to
 be
  related to timeout issues, search through the recent list for
 timeout
  and see if any of the suggestions there can help you.
 
 Which Apache version/SSPI module/SVN server and client you're 
 using? For my own convenience.
 
 Apache latest 2.2.17 with open-ssl support, SSPI was I think the latest
 I could find (the windoze file properties dialog reports the module file
 version as 1.0.4.0), svn server is David Darj's 1.6.13 and client is
 latest TortoiseSVN Release 1.6.11 (2 October 2010).

Ok, I'm using both server and client 1.6.13, Apache 2.2.16 and mod_auth_sspi
1.0.0.5 (Unfortunately, the link to original post
http://www.nosq.com/blog/2008/06/fixing-mod_auth_sspi-and-ie-losing-post-data/
appears to be broken, but I do have direct DL link:
http://dev.nosq.com/downloads/mod_auth_sspi/mod_auth_sspi_1.0.5b-vc9-2.2.11.zip 
)

One last bit: Tried with 1.6.1 client and server - same issue. :(
Attached a log of that connection...

Clocks are in sync

[]$cmdtime3.exe 192.168.1.12 192.168.1.12 192.168.1.12 192.168.1.12

* CmdTime 3.0 (c) Jury Gerasimov, 2000-2002.
* Adjusting time via Internet Time Servers.
* Contact author: http://www.softshape.com

Connecting 192.168.1.12...  OK.
Connecting 192.168.1.12...  OK.
Connecting 192.168.1.12...  OK.
Connecting 192.168.1.12...  OK.

Current time   : 2010-10-26 16:38:40
Suggested time : 2010-10-26 16:38:40
Inaccuracy : 00:00:00


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 26.10.2010, 16:25

Sorry for my terrible english...

error.log
Description: Binary data


connect.log
Description: Binary data


Re: RES: Subversion 1.6.13 Released

2010-10-25 Thread Andrey Repin
Greetings, Luiz Guilherme Kimel!

 In case you are using LDAP authentication

I'm using NTLM auth against that machine local accounting.

 against an Microsoft Active Directory, please check your date and time
 settings including timezone.

I'm playing EVE at the same time :) It's client tools are very sensitive to
timezone settings, so they are right (and time difference between workstation
and server never more than 30 seconds).

 Your apache server (where your svn server is running behind) is an
 authentication client for the Windows Server and if there is a small
 difference between their clocks then authentication may present this exact
 behavior.  

If only it was initial auth issue, but it starting commit right away, and
break in between.

 I have no problem committing several hundreds om MB.
 I got no possibility to test with SSPI authentication though. Can you 
 test without it and see if it works?

The lines where it asking for username, it's when it falling back to Basic
auth.

 I am using SSPI alongside David's 1.6.13 builds (thanks again, David!)
 on apache on a windoze server box with no problems.

 From recent list traffic, issues with large commits failing seem to be
 related to timeout issues, search through the recent list for timeout
 and see if any of the suggestions there can help you.

Which Apache version/SSPI module/SVN server and client you're using? For my
own convenience.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 25.10.2010, 16:58

Sorry for my terrible english...



Re: RES: RES: Subversion 1.6.13 Released

2010-10-25 Thread Andrey Repin
Greetings, Luiz Guilherme Kimel!

 I'm using CollabNetSubversion-client-1.6.11-4.win32. Its changlog says:

 Changes to included binaries:
   * Subversion upgraded to 1.6.11
   * Apache upgraded to 2.2.15
   * Openssl upgraded to 0.9.8n
   * Neon upgraded to 0.29.3

 I had similar problem with SharePoint and .net web applications running
 under IIS 6 with basic authentication against an active directory. Pages
 would ask for authentication many times until completely loaded. Users could
 access it, pressing ok to the authentication dialog as many times as asked
 by the browser. It took me sometime to figure out the timezone difference
 between servers, since users could authenticate after all. It was a very
 annoying problem. I hope you find your way out of it.

It is certainly not the timezone settings. Both machines are set to the same
TZ and clocks usually differs by a fraction of second.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 26.10.2010, 9:17

Sorry for my terrible english...



Re: Subversion 1.6.13 Released

2010-10-24 Thread Andrey Repin
Greetings, Nico Kadel-Garcia!

 the open source version's features and design. It's also so common, I
 find it worthwhile to maintain a throwaway email account for just such

Which often banned on the holder's mail server... Been there, too.
But as I said, if there's no required download at all, I'm not interested in
registration either way. My only concern for now is strange interaction of
subversion client compiled by David Darj with server using NTLM
authentication. It listing and retrieving files without a problem, but failing
at commit. Both read and write access require proper authentication.
Just want to confirm if it is compilation, configuration or something else.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 24.10.2010, 21:32

Sorry for my terrible english...



Re: Subversion 1.6.13 Released

2010-10-24 Thread Andrey Repin
Greetings, David Darj!

David, I have a strange issue with binaries you provided.
I'm using SVN repository served by Apache under Win32.

In attachment is a httpd-modules-svn.conf - module loading.
Enabling it... here:

VirtualHost *
ServerName svn.darkdragon
ServerAlias svn.rootdir.org

DocumentRoot C:/home/svn
AddDefaultCharset utf-8

ErrorLog C:/home/svn/.log/error_log
CustomLog C:/home/svn/.log/access_log common env=!SVN-ACTION
CustomLog C:/home/svn/.log/svn_access_log svn env=SVN-ACTION

IfModule rewrite_module
some rewrite rules, they are convoluted and pretty much meaningless
/IfModule

Location /
#AllowOverride Limit AuthConfig
#Options None
Order allow,deny
Allow from 192.168.1.10

IfModule dav_svn_module
DAV svn
SVNParentPath C:/home/svn
/IfModule

IfModule sspi_auth_module
Allow from all

AuthName Subversion repository
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
SSPIOmitDomain On
SSPIUsernameCase lower
SSPIBasicPreferred Off

# only developers may access the repository
Require group DAEMON1\CVS

# And they should obey to SVN user permissions file
IfModule authz_svn_module
AuthzSVNAccessFile C:/home/svn/.registry
/IfModule
/IfModule
/Location
/VirtualHost


Everything works fine, when I operate with small files.
But once I start submittings megabytes of data (~500 files, ~10Mb size total),
Subversion start to break on authorization, randomly asking for password or
username, again and again.

I don't quite know, if it is specific to your builds, or is a bug in
Subversion. I'll be glad to present any additional info.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 24.10.2010, 21:54

Sorry for my terrible english...

httpd-modules-svn.conf
Description: Binary data


Re: Subversion 1.6.13 Released

2010-10-24 Thread Andrey Repin
Greetings, All!

Quick add:

Transmitting file data ..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
Authentication realm: http://svn.darkdragon:80 Subversion repository
Username: anrdaemon
Password for 'anrdaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
Authentication realm: http://svn.darkdragon:80 Subversion repository
Username: anrdaemon
Password for 'anrdaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
Authentication realm: http://svn.darkdragon:80 Subversion repository
Username: anrdaemon
Password for 'anrdaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Authentication realm: http://svn.darkdragon:80 Subversion repository
Password for 'AnrDaemon': **
..
Committed revision 49.

ls -kgoA of committed directory in attachment...


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 24.10.2010, 22:18

Sorry for my terrible english...

files.list
Description: Binary data


Re: Recursive ACLs fail

2010-03-11 Thread Andrey Repin
Greetings, Jeremiah Foster!

 Is there any way I can specify ACLS per directory? What am I doing 
 wrong?

Just mention everyone at every point.
Like,

[]
~someone = rw
someone = r


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 11.03.2010, 19:46

Sorry for my terrible english...



Re: Programming a Watcher File

2010-03-04 Thread Andrey Repin
Greetings, David Weintraub!

 On Tue, Mar 2, 2010 at 11:39 PM, Andrey Repin anrdae...@freemail.ru wrote:
 Sorry, my head is a bit crippled for now, and your post contains too much
 cross-references to be understandable in my current state.
 Could you please put it in simple terms, how you see your potential system
 works?

 We have both development teams in India and in New York. When the
 Indian development team makes changes, the New York QA team needs to
 be notified, so they know what to test. When the New York development
 team checks something in, the Indian QA team needs to be notified.
 This will currently be for a single project, so I have to specify
 those files in that project that need to be watched.

 I decided to make this hook script a bit more general than for this
 specific circumstance. What if there are separate teams for each
 branch that need to be notified? What if other teams want their files
 to be watched?

Having generalized hook script is always a nice option, if you ask me.
Given sane configuration scheme, you never know, how unexpectedly nice setups
your users would be able to build.

 If having a custom (and client-customizable) configuration is all you ever
 want, there's a hint: hook script can access repository as easy as any other
 local file. Just do svn cat on required file and parse it's content as
 normal.

 However, be very wary of access rights on the mentioned configuration file.

 I am using svnlook cat which is a bit faster

Right, and thanks for a note.

 since I don't have to go through the Subversion server. I will be setting
 the rights on this configuration file, so only the managers can modify it.
 Plus, I'll get an email whenever the configuration file itself gets modified.

 Originally, I was thinking about using properties to set the watch. If
 I want a particular directory tree watched, I could put a sol:watch
 property on that directory, and anytime a file in that directory tree
 gets modified, I'll email the users.

I didn't though about properties, but I clearly see a perfomance issue you've
mentioned below. You have to enumerate whole tree back up to the repository
root in attempt to locate the properties, and you can't just stop in the
middle after first such property found.

 However, how do you find all of these properties? If I check in a file
 svn://host/project/dir/dir2/dir3/file, I'd have to check all the
 parent directories for the property (that's five different directories
 to check, plus the file itself). And, I'd have to do that for each
 file changed. Plus, how do developers find all of their watches?
 Therefore, I decided it would be better to have a single configuration
 file for the watches.

 Another possibility is to have a directory where users can put their
 own watch definitions. I have an access control script that can easily
 be setup so that barry.cfg can only be changed by barry and david.cfg
 can only be changed by david. But, that means getting a list of these
 watch files (svnlook tree), and then checking opening up each one to
 construct my watch list. That might take too long.

You're missing one option - put a post-commit hook on this directory, which
would compile single configuration file from all user files.
I.e.

svnroot\watch\watchlist (global options)
svnroot\watch\watchlist.d\someuser.list
svnroot\watch\watchlist.d\someotheruser.list

Every time your post-commit (or pre-commit, if you decide) hook spot a write
operation to the \watch\watchlist.d, it run compilation process, and notify
repository administrators of the results.

You can store compiled config out of repository, or inside it - as you decide.
I'd go with off-site approach, as it could be reconstructed at any time,
whenever the repository moves.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 04.03.2010, 17:27

Sorry for my terrible english...



Re: Programming a Watcher File

2010-03-02 Thread Andrey Repin
Greetings, David Weintraub!

 One of the tech leads wants to be able to program a watch file, so
 that when a certain set of developers change a particular file,
 certain other developers get notified. Thus, we need to be able to
 program what files, what developers do the commit, and what developers
 receive the notification. I'd like to do this, so this developer can
 maintain this file himself instead of me having to maintain it which
 means it can't be a text file on the Subversion server.

Sorry, my head is a bit crippled for now, and your post contains too much
cross-references to be understandable in my current state.
Could you please put it in simple terms, how you see your potential system
works?

 I'm working with something like this now. I have a configuration file
 where you setup the various parameters (specifying files via globbing
 or regex), who does the commit, and who receives the email. The
 configuration file sits in the source repository, so this tech lead
 has access to it.

 I was wondering if anyone already has a post-commit hook script like
 this already setup. I know there's one included in Subversion, but
 this one uses a text file that's accessible to the hook script and its
 setup isn't that flexible.

 If not, I'll finish up the one I'm working on.

If having a custom (and client-customizable) configuration is all you ever
want, there's a hint: hook script can access repository as easy as any other
local file. Just do svn cat on required file and parse it's content as
normal.

However, be very wary of access rights on the mentioned configuration file.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 03.03.2010, 7:35

Sorry for my terrible english...



Re: Restoring a hotcopy repo

2010-02-13 Thread Andrey Repin
Greetings, Justin Connell!

 I need to set up a new svn repository from a hotcopy backup. I
 understand that it is a simple procedure of just copying the files into 
 the new repo and ensuring that the file access permissions are correct, 
 but my concern is that the hotcopy contains a series of .txn directories 
 which implies that the hotcopy was configured to do an incremental 
 back-up, and my core concern is that when I move the content of the 
 hotcopy, do I include the .txn directories or are these ommitted?

Hotcopy is a snap of working SVN repository.
If you're concerned, you could just point your SVN tools to the new repository
made from backup and see if it works the way you expect it to be. Then switch
main server over to the new location.
The txn dirs likely indicate stalled transactions, lookup documentation about
the ways to cleanup repository from them.
Yet again, you should not be need to mess with hotcopied files by hands - only
using standard Subversion utilities.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 14.02.2010, 8:09

Sorry for my terrible english...



Re: Changing the native newline mode

2010-02-12 Thread Andrey Repin
Greetings, Glenn Maynard!

 Although I'm not sure why he wouldn't check out with a windows client. I'm 
 not sure how connecting to a Linux machine to checkout to a folder mounted 
 on a windows machine is easier than using the
 windows CLI.

 It's easier because it's a fully configured CLI that I already have
 running all the time, which does everything the way I want.  I don't
 want to have to do half of my CLI work from a clumsy Cygwin window,
 especially since I have working copies in both Linux and Windows that
 I deal with simultaneously.

Cygwin checkout will give you LF-only line endings, just like what you are
doing now.

 Instead, we set svn:eol-style to LF, and configured our Windows editors to
 know how to deal with such files. 

 Visual Studio just doesn't understand it.  It'll load them and do
 basic editing fine, but copy/paste leads to mixed newlines.

Use AnkhSVN for example. Or native Windows build of Subversion.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 13.02.2010, 6:15

Sorry for my terrible english...



Re: Changing the native newline mode

2010-02-12 Thread Andrey Repin
Greetings, Glenn Maynard!

 Is there any way to change the native newline mode for a particular
 working copy?

 I'm checking out code in Linux, over a CIFS mount to a Windows machine
 where it's being used.  This is much easier for me than any of the
 solutions involving Windows clients, but ends up with Unix line
 endings, leading to newline headaches.

Don't do that. Check out it where it'll be used.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 13.02.2010, 6:14

Sorry for my terrible english...



Re: upgrade subversion on ubunty hardy to 1.6.9

2010-02-11 Thread Andrey Repin
Greetings, Seth M!

 I cannot upgrade SVN on my ubuntu hardy, it only will install 1.5.1 -
 below is the apt-get install and the sources.list

 apt-get install subversion
 Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 Suggested packages:
   db4.6-util subversion-tools
 The following NEW packages will be installed:
   subversion
 0 upgraded, 1 newly installed, 0 to remove and 32 not upgraded.
 Need to get 0B/1274kB of archives.
 After this operation, 4194kB of additional disk space will be used.
 Selecting previously deselected package subversion.
 (Reading database ... 29651 files and directories currently
 installed.)
 Unpacking subversion (from .../
 subversion_1.5.1dfsg1-1ubuntu2~hardy2_i386.deb) ...
 Setting up subversion (1.5.1dfsg1-1ubuntu2~hardy2) ...

Have you updated package list after editing sources file?
Did you added a signing key from PPA?

$ aptitude show subversion
Package: subversion
State: not installed
Version: 1.6.6dfsg-1ubuntu0maxb1~hardy1

Also, don't put custom lines to the beginning of sources.list.
Always append them to the end.

And btw...

## PPA repositories
##
## Subversion
deb http://ppa.launchpad.net/svn/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/svn/ppa/ubuntu hardy main

Source: 
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065dsMessageId=2416305


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 12.02.2010, 4:17

Sorry for my terrible english...



Re: Recursive svn stat

2010-01-29 Thread Andrey Repin
Greetings, Naz!

 Hi there,
 I am trying to get a list of all files that have been added or 
 removed from the repo by means other than svn commands. svn stat
 works, but does not recurse into directories.

Ermm?
Since when?
For me, svn status descending into directories by default.

$ svn --version
svn, version 1.6.1 (r37116)
   compiled Apr 10 2009, 19:06:38

stdout:svn status
?   htdocs\Index-main.htm
?   htdocs\admin\fck\editor\js\fckeditorcode_gecko_2.txt

 svn stat --depth
 infinite does not help, that's the default behaviour anyway.

 Can I get a recursed output from svn stat? I *could* compare svn 
 list -R with the output of ls -lR, but that'd require much scripting 
 work that I would prefer to avoid. Any solutions?

The only possible case, where it would not do that, if certain directory
wasn't part of the original checkout. (Even being a part of repository)


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 30.01.2010, 5:10

Sorry for my terrible english...



Re: Externals within the same repository

2010-01-25 Thread Andrey Repin
Greetings, Asbjørn Sæbø!

 Assume the following situation: There is a repository  my_repo, structured 
 like this:

 my_repo
 my_repo/trunk
 my_repo/trunk/a
 my_repo/trunk/a/file.h
 my_repo/trunk/b

 where my_repo/trunk/b has an svn:external to import the contents of my_repo/a.
 That is, b will have the contents of a external-ed in.

 Is this valid and sound SVN?

I'm pretty sure file duplication is not valid in any development process, it's
not a question of versioning.
Ask yourself what REALLY you're trying to achieve. Other than creating a mess
that not reflect your workspace.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 25.01.2010, 17:48

Sorry for my terrible english...



Re: Keeping tags/ and branches/ in the trunk

2010-01-25 Thread Andrey Repin
Greetings, trans!

 Is it possible to keep tags/ and branches/ in the trunk/ so as not to
 have to differentiate these three at the top of a repository.

Everything is possible, but ask yourself, do you really want to checkout whole
repository every time you request to checkout trunk?

 In other words, instead of:

   branches/
 BRANCH_xyz/
   tags/
 RELEASE_1_0_0/
   trunk/
 README
 bin/
 lib/

 One could have:

   README
   bin/
   branches/
 BRANCH_xyz/
   lib/
   tags/
 RELEASE_1_0_0/

 I think I might prefer this approach, if possible. The problem of
 course is in creating new tags and branches, i.e. making a copy, I
 would need to prevent the tags/ and branches/ directories from being
 copied in the process. Is there a way to do that?

And this one, too.
Read svnbook... SVN is a filesystem, all basic rules of file handling apply.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 25.01.2010, 17:45

Sorry for my terrible english...



Re: Subversion queries hanging, timing out

2010-01-15 Thread Andrey Repin
Greetings, Dave Purrington!

 Lately we have been experiencing intermittent timeouts with our Subversion
 operations. It does not happen initially, but after a while it starts
 happening. Restarting Apache alleviates the problem, but it comes back after
 a time. As you can imagine, this wreaks havoc.

 Our operating environment:

- server - Windows 2003
- Apache 2.2.13
- Subversion server 1.6.3
- Subversion client 1.6.6
- mod_auth_sspi 1.0.4-2.0.58
- 200+ very active users, ~74K files

Server: Apache/2.2.11 (Win32) mod_auth_sspi/1.0.5 SVN/1.6.1 PHP/5.2.2 DAV/2
http://www.nosq.com/blog/2008/06/fixing-mod_auth_sspi-and-ie-losing-post-data/
http://dev.nosq.com/downloads/mod_auth_sspi/mod_auth_sspi_1.0.5b-vc9-2.2.11.zip


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 15.01.2010, 17:48

Sorry for my terrible english...



Re: Troubles with VirtualHost configuration: never asked for password

2010-01-12 Thread Andrey Repin
Greetings, Will Scheidegger!

 I'm having a hard time configuring my virtual host to restrict access to my
 subversion repository. This is what my conf looks like:

 #Virtual Host Configuration

 VirtualHost w.x.y.z:80
 ServerName svn.domain.com

 Location /svn/myproject
 Order Allow,Deny
 Allow from all

 DAV svn
 SVNPath /usr/local/svn/myproject
 AuthType Basic
 AuthName Subversion Repository
 AuthUserFile /etc/subversion/passwd
 Require valid-user
 /Location
 /VirtualHost


 Without the Order Allow,Deny + Allow from all directive the default
 virtual host configuration takes over and access is denied (Server sent
 unexpected return value (403 Forbidden) in response to OPTIONS request...).
 But with the directives I'm never asked for a password. According to all the
 manuals I consulted on the web, this setup _should_ challenge the user for a
 password (stored in /etc/subversion/passwd). Do I need to configure
 something else, i.e. modify stuff in /usr/local/svn/myproject/conf?

Try running svn command with --no-auth-cache switch.
Not really see what's wrong with your setup...
For a convenience, here's my own configuration of authorization block (It
using SSPI module, however, you have to replace relevant directives by ones
suitable for your auth scheme):

VirtualHost *
ServerName svn.mydomain.local
ServerAlias svn.example.org

DocumentRoot C:/home/svn
AddDefaultCharset utf-8

ErrorLog C:/home/svn/.log/error_log
CustomLog C:/home/svn/.log/access_log common env=!SVN-ACTION
CustomLog C:/home/svn/.log/svn_access_log svn env=SVN-ACTION

IfModule rewrite_module
# some private stuff here to make all things to work straight
/IfModule

Location /
Order allow,deny
# Limit access to single local IP
# unless we have working authorization scheme
Allow from 192.168.1.10

IfModule dav_svn_module
DAV svn
SVNParentPath C:/home/svn
/IfModule

IfModule sspi_auth_module
Allow from all

AuthName Subversion repository
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
SSPIOmitDomain On
SSPIUsernameCase lower
SSPIBasicPreferred Off

# only developers may access the repository
Require group EXAMPLE\CVS

# And they should obey to SVN user permissions file
IfModule authz_svn_module
AuthzSVNAccessFile C:/home/svn/.registry
/IfModule
/IfModule
/Location
/VirtualHost


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 13.01.2010, 4:28

Sorry for my terrible english...



Re: restricting sub-directory permissions

2009-12-16 Thread Andrey Repin
Greetings, Gabriel Ricardo!

 I cannot figure out how to restrict permissions on a sub-directory.
 What I want is to have anonymous read/write access to everything
 except a sub-directory, where only two users have read/write and
 everyone else has no access (read or write).  I've done a lot of
 reading of the manual and googling the users list but can't find
 anything that solves my problem.
 Much appreciated if someone can point out my mistake.

 I'm using Redhat 5.2, which comes with subversion 1.4.2 (r22196). and
 apache 2.2.3

 I have one repository at /usr/local/vn7/repos
 The relevant parts of my httpd.conf looks like this
 # SVN setup
 Location /svn
 DAV svn
 SVNPath /usr/local/vn7/repos
 # our access control policy
 AuthzSVNAccessFile /usr/local/vn7/etc/svn_auth_paths
 # try anonymous access first, resort to real
 # authentication if necessary.
 Satisfy Any
 Require valid-user

 # how to authenticate a user
 AuthType Basic
 AuthName Subversion repository
 AuthUserFile /usr/local/vn7/etc/svn_auth_users

 /Location

 My AuthUserFile looks like this:
 [/]
 * = rw

 [/Delta/trunk/qsrc/strategies]
 mchen = rw
 gricardo = rw
 * =

Try
[/Delta/trunk/qsrc/strategies]
* =
mchen = rw
gricardo = rw

or make a group and tell this directory to
[/Delta/trunk/qsrc/strategies]
~...@group =
@group = rw


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 17.12.2009, 4:14

Sorry for my terrible english...