Subversion Client on z/OS

2013-02-05 Thread Iwao Togo
Hi, If you provide us any information about the subject, we'd be very happy.

Currently we are using CVS for Open platform SCM tool. We are going to move to 
SVN soon.
At the same time we want use SVN for CICS/DB2 COBOL source code currently 
edited by z/OS ISPF environment.
We don't want to change any build environment.
Expecting scenario is as follows:
1. CICS/DB2 master source code are in SVN repository on LINUX platform.
2. Developer CHECK-OUT some source code members form the SVN repository to  
z/OS PDS(Partitioned Data Set) edited by ISPF.
3. Developer works, update the code, compile, link/edit  on z/OS environment 
using ISPF/SDSF.
4. Then, the developer COMMIT their code to the SVN repository.

Questions:
  a) Is there any SVN client available for z/OS implementing my scenario 
above
   I found a couple experiences on this subject, but the results was NOT 
clear. 
   
http://mail-archives.apache.org/mod_mbox/subversion-dev/201011.mbox/%3CAANLkTinFCn_ugO4OFXYfHuAB=yqkkq1e+eioy9dbs...@mail.gmail.com%3E

  b) If it is there, where does the executable module run?? It runs on ISPF 
command line???

  c) If you have any best practice on this subject please let me know.

Any comments would be very useful for us. Thanks in advanced, best regards,  
Iwao




Re: FreeBSD project and subversion.

2013-02-05 Thread Johan Corveleyn
On Tue, Feb 5, 2013 at 1:39 AM, Alexey Neyman  wrote:
> On Monday, February 04, 2013 10:17:29 PM Stefan Sperling wrote:
>
>> On Mon, Feb 04, 2013 at 11:54:21AM -0800, Alexey Neyman wrote:
>
>> > On Thursday, January 31, 2013 09:08:20 am Stefan Sperling wrote:
>
>> > > BTW, I went over one of FreeBSD's svn wiki pages a while back, and
>> > > added
>
>> > > answers to open questions on this page:
>
>> > > https://wiki.freebsd.org/SubversionMissing
>
>> >
>
>> > Speaking of which:
>
>> >
>
>> > Is there a reason why it is necessary to use "the svn diff --old
>
>> > ^/somebranch --new ." instead of the intuitive "svn ^/somebranch ."?
>
>>
>
>> Would "svn diff ^/somebranch ." be synopsis 1?
>
>>
>
>> svn diff -rN:M ^/somebranch@HEAD .@HEAD
>
>
>
> It cannot be "synopsis 1", as its description states that "TARGETs may be
> all working copy paths or all URLs". In this case, we have one of each.
> Moreover, synopsis 1 says that for URLs, -r or -c must be present - and my
> example has no -r/-c option.

Sorry, that's not true. From 'svn help diff' of 1.7:

diff (di): Display the differences between two revisions or paths.
usage: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...]
   2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \
   [PATH...]
   3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]

So for usage 1 the -c and -r are optional.

Also, the condition "may be all working copy paths or all URLs" is
pretty weak for deciding to use usage 1, because for usage 2
(--old/--new) you can just as well use two working copy paths or two
URLs. I think it would be even more confusing if 'svn diff A B' would
decide to use usage 1 if they are both URLs or both wc paths, and use
usage 2 if only one of them is a URL and the other a wc path (even
though usage 2 can just as well accomodate two URLs and two wc paths).

>
> So, the only possible use of this syntax would be synopsis 2:
>
>
>
>> svn diff --old ^/somebranch@HEAD --new .@HEAD
>
>> (i.e. show the difference between the two (path, revision) pairs
>
>> somebranch@HEAD and .@HEAD) ?
>
>>
>
>> > It has bugged me for a while until I discovered this --old/--new trick.
>
>>
>
>> I agree that --old --new syntax isn't intuitive at all.
>
>
>
> What adds oil to the fire is that the error message, which claims that
> "Target lists to diff may not contain both working copy paths and URL". If
> instead it said that the supplied syntax is ambiguous and suggested to use
> --new/--old for disambiguation, this would have saved a lot of frustration
> and would eliminate the need of "svn compare" subcommand :)
>
>
>
> For example:
>
> svn: Ambiguous target list (contains both work copy paths and URLs). Use
>
> --old/--new syntax to disambiguate.
>

Given what I said above, this can't be done in general (not if you
give two URLs or two wc paths, because then both synopsis 1 and 2 are
possible -- it would obviously break backwards compatibility if we
would now start erroring out on these, while these used to work fine
with automatically picking usage 1 before). Only if one of them is a
URL and the other a WC path, because we give an error message then
anyway.

-- 
Johan


Re: FreeBSD project and subversion.

2013-02-05 Thread Stefan Sperling
On Tue, Feb 05, 2013 at 12:59:43PM +0100, Johan Corveleyn wrote:
> Given what I said above, this can't be done in general (not if you
> give two URLs or two wc paths, because then both synopsis 1 and 2 are
> possible -- it would obviously break backwards compatibility if we
> would now start erroring out on these, while these used to work fine
> with automatically picking usage 1 before). Only if one of them is a
> URL and the other a WC path, because we give an error message then
> anyway.

I think Alexey meant only the cases where we currently error out, i.e. where
exactly two targets are given and one is a path and the other is a URL.

I didn't realise this but there is indeed no ambiguity in allowing this
syntax as a shorthand for a corresponding '--old X --new Y' diff invocation.

Thanks Alexey, see http://svn.apache.org/r1442640
Making these invocations produce a diff instead of an error makes things
less surprising for users.


Re: FreeBSD project and subversion.

2013-02-05 Thread Stefan Sperling
On Mon, Feb 04, 2013 at 04:39:32PM -0800, Alexey Neyman wrote:
> What adds oil to the fire is that the error message, which claims that 
> "Target 
> lists to diff may not contain both working copy paths and URL". If instead it 
> said that the supplied syntax is ambiguous and suggested to use --new/--old 
> for disambiguation, this would have saved a lot of frustration and would 
> eliminate the need of "svn compare" subcommand :)
> 
> For example:
> svn: Ambiguous target list (contains both work copy paths and URLs). Use
> --old/--new syntax to disambiguate.

Agreed. The error message wasn't very helpful.
I've improved it in http://svn.apache.org/r1442645 based on your suggestion.
Thanks!


Re: FreeBSD project and subversion.

2013-02-05 Thread Alexey Neyman
On Tuesday, February 05, 2013 05:08:40 PM Stefan Sperling wrote:
> On Tue, Feb 05, 2013 at 12:59:43PM +0100, Johan Corveleyn wrote:
> > Given what I said above, this can't be done in general (not if you
> > give two URLs or two wc paths, because then both synopsis 1 and 2 are
> > possible -- it would obviously break backwards compatibility if we
> > would now start erroring out on these, while these used to work fine
> > with automatically picking usage 1 before). Only if one of them is a
> > URL and the other a WC path, because we give an error message then
> > anyway.
> 
> I think Alexey meant only the cases where we currently error out, i.e. where
> exactly two targets are given and one is a path and the other is a URL.
> 
> I didn't realise this but there is indeed no ambiguity in allowing this
> syntax as a shorthand for a corresponding '--old X --new Y' diff invocation.
> 
> Thanks Alexey, see http://svn.apache.org/r1442640
> Making these invocations produce a diff instead of an error makes things
> less surprising for users.

Thanks!

There is one more weird issue with svn diff, see the script below. The issue 
is that "--old=A --new=B" is not opposite of "--old=B --new=A". I don't know 
if it is a bug or another ambuguity I am not aware of :)

Here is the script:
[[[
#!/bin/bash

REPO=/tmp/foo
WC=/tmp/foo.wc

rm -rf $REPO $WC
svnadmin create $REPO
svn co -q file://$REPO $WC
cd $WC

echo r1 > a
svn add -q a
svn ci -q -m R1
echo r2 > a
svn ci -q -m R2
svn up -q -r 1
echo new > a
echo "Issue: --old=A --new=B is not opposite of --old=B --new=A"
echo "  Running: svn di --old=^/ --new=."
svn di --old=^/ --new=.
echo "  Running: svn di --old=. --new=^/"
svn di --old=. --new=^/
]]]

And here is the output (svn 1.7.6):
[[[
Issue: --old=A --new=B is not opposite of --old=B --new=A
  Running: svn di --old=^/ --new=.
Index: a
===
--- a   (.../file:///tmp/foo)   (revision 2)
+++ a   (working copy)
@@ -1 +1 @@
-r2
+new
  Running: svn di --old=. --new=^/
Index: a
===
--- a   (working copy)
+++ a   (.../file:///tmp/foo)   (revision 2)
@@ -1 +1 @@
-r1
+r2
]]]

Regards,
Alexey.

Re: FreeBSD project and subversion.

2013-02-05 Thread Alexey Neyman
On Tuesday, February 05, 2013 12:59:43 PM Johan Corveleyn wrote:
> On Tue, Feb 5, 2013 at 1:39 AM, Alexey Neyman  wrote:
> > On Monday, February 04, 2013 10:17:29 PM Stefan Sperling wrote:
> >> On Mon, Feb 04, 2013 at 11:54:21AM -0800, Alexey Neyman wrote:
> >> > Is there a reason why it is necessary to use "the svn diff --old
> >> > 
> >> > ^/somebranch --new ." instead of the intuitive "svn ^/somebranch ."?
> >> 
> >> Would "svn diff ^/somebranch ." be synopsis 1?
> >> 
> >> svn diff -rN:M ^/somebranch@HEAD .@HEAD
> > 
> > It cannot be "synopsis 1", as its description states that "TARGETs may be
> > all working copy paths or all URLs". In this case, we have one of each.
> > Moreover, synopsis 1 says that for URLs, -r or -c must be present - and my
> > example has no -r/-c option.
> 
> Sorry, that's not true. From 'svn help diff' of 1.7:
> 
> diff (di): Display the differences between two revisions or paths.
> usage: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...]
>2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \
>[PATH...]
>3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]
> 
> So for usage 1 the -c and -r are optional.

You didn't quote the second part of 'svn help diff' description of synopsis 1. 
Here it is:

  1. Display the changes made to TARGETs as they are seen in REV between
 two revisions.  TARGETs may be all working copy paths or all URLs.
 If TARGETs are working copy paths, N defaults to BASE and M to the
 working copy; if URLs, N must be specified and M defaults to HEAD.
 The '-c M' option is equivalent to '-r N:M' where N = M-1.
 Using '-c -M' does the reverse: '-r M:N' where N = M-1.

If you read it, you'll see that
(a) Mix of URLs and paths are not allowed for this synopsis
(b) For URLs, either -r or -c must be provided

Regards,
Alexey.
y.

Re: FreeBSD project and subversion.

2013-02-05 Thread Stefan Sperling
On Tue, Feb 05, 2013 at 09:19:19AM -0800, Alexey Neyman wrote:
> There is one more weird issue with svn diff, see the script below. The issue 
> is that "--old=A --new=B" is not opposite of "--old=B --new=A". I don't know 
> if it is a bug or another ambuguity I am not aware of :)
> 
> Here is the script:
> [[[
> #!/bin/bash
> 
> REPO=/tmp/foo
> WC=/tmp/foo.wc
> 
> rm -rf $REPO $WC
> svnadmin create $REPO
> svn co -q file://$REPO $WC
> cd $WC
> 
> echo r1 > a
> svn add -q a
> svn ci -q -m R1
> echo r2 > a
> svn ci -q -m R2
> svn up -q -r 1
> echo new > a
> echo "Issue: --old=A --new=B is not opposite of --old=B --new=A"
> echo "  Running: svn di --old=^/ --new=."
> svn di --old=^/ --new=.
> echo "  Running: svn di --old=. --new=^/"
> svn di --old=. --new=^/
> ]]]
> 
> And here is the output (svn 1.7.6):
> [[[
> Issue: --old=A --new=B is not opposite of --old=B --new=A
>   Running: svn di --old=^/ --new=.
> Index: a
> ===
> --- a   (.../file:///tmp/foo)   (revision 2)
> +++ a   (working copy)
> @@ -1 +1 @@
> -r2
> +new
>   Running: svn di --old=. --new=^/
> Index: a
> ===
> --- a   (working copy)
> +++ a   (.../file:///tmp/foo)   (revision 2)
> @@ -1 +1 @@
> -r1
> +r2
> ]]]
> 
> Regards,
> Alexey.

I can reproduce this with a trunk build. Can you please file an issue
for this? I'm not going to get to this right away. Thanks!


Re: data encryption

2013-02-05 Thread Hector Magnanao
Thanks, I guess my question wasn't so clear.  I was asking for something or 
a suggestion on how to encrypt data from Subversion.  Also, can anyone give 
me any tips or suggestion on how to set up ldap authentication for 
Subversion ?

On Tuesday, February 5, 2013 1:15:53 AM UTC-6, Thorsten Schöning wrote:

> Guten Tag Hector Magnanao, 
> am Montag, 4. Februar 2013 um 22:24 schrieben Sie: 
>
> > Hi, I have installed Subversion and Ubersvn on a windows 2008 
> > server - 64 bit machine.  How do you set up data encryption on 
> Subversion ? 
>
> As said, Subversion itself doesn't provide data encryption, but you 
> can use what Windows provides, like EFS or BitLocker, whatever you 
> need. 
>
> Mit freundlichen Grüßen, 
>
> Thorsten Schöning 
>
> -- 
> Thorsten Schöning   E-Mail:thorsten.schoen...@am-soft.de 
> AM-SoFT IT-Systeme  http://www.AM-SoFT.de/ 
>
> Telefon...05151-  9468- 55 
> Fax...05151-  9468- 88 
> Mobil..0178-8 9468- 04 
>
> AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln 
> AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow 
>
>

Re: FreeBSD project and subversion.

2013-02-05 Thread Lathan Bidwell


On 02/05/2013 01:14 PM, Stefan Sperling wrote:

On Tue, Feb 05, 2013 at 09:19:19AM -0800, Alexey Neyman wrote:

There is one more weird issue with svn diff, see the script below. The issue
is that "--old=A --new=B" is not opposite of "--old=B --new=A". I don't know
if it is a bug or another ambuguity I am not aware of :)

Here is the script:
[[[
#!/bin/bash

REPO=/tmp/foo
WC=/tmp/foo.wc

rm -rf $REPO $WC
svnadmin create $REPO
svn co -q file://$REPO $WC
cd $WC

echo r1 > a
svn add -q a
svn ci -q -m R1
echo r2 > a
svn ci -q -m R2
svn up -q -r 1
echo new > a
echo "Issue: --old=A --new=B is not opposite of --old=B --new=A"
echo "  Running: svn di --old=^/ --new=."
svn di --old=^/ --new=.
echo "  Running: svn di --old=. --new=^/"
svn di --old=. --new=^/
]]]

And here is the output (svn 1.7.6):
[[[
Issue: --old=A --new=B is not opposite of --old=B --new=A
   Running: svn di --old=^/ --new=.
Index: a
===
--- a   (.../file:///tmp/foo)   (revision 2)
+++ a   (working copy)
@@ -1 +1 @@
-r2
+new
   Running: svn di --old=. --new=^/
Index: a
===
--- a   (working copy)
+++ a   (.../file:///tmp/foo)   (revision 2)
@@ -1 +1 @@
-r1
+r2
]]]

Regards,
Alexey.

I can reproduce this with a trunk build. Can you please file an issue
for this? I'm not going to get to this right away. Thanks!



Here is the issue that I see:

The --old=. get's the workspace version of ., but --new get's the 
non-changed version of /.


So, I believe it is comparing "r1" with the r2 contents of "r2" and not 
comparing both workspace versions.


RevContents
1r1
2r2
2*  new

2* only get's referenced when it is in the --old position,
2 get's used when its in the --new position.


Please correct me if I'm wrong about this, but that is what seems to be 
a logical reasoning behind that behavior.


Lathan


Re: FreeBSD project and subversion.

2013-02-05 Thread Johan Corveleyn
On Tue, Feb 5, 2013 at 5:08 PM, Stefan Sperling  wrote:
> On Tue, Feb 05, 2013 at 12:59:43PM +0100, Johan Corveleyn wrote:
>> Given what I said above, this can't be done in general (not if you
>> give two URLs or two wc paths, because then both synopsis 1 and 2 are
>> possible -- it would obviously break backwards compatibility if we
>> would now start erroring out on these, while these used to work fine
>> with automatically picking usage 1 before). Only if one of them is a
>> URL and the other a WC path, because we give an error message then
>> anyway.
>
> I think Alexey meant only the cases where we currently error out, i.e. where
> exactly two targets are given and one is a path and the other is a URL.
>
> I didn't realise this but there is indeed no ambiguity in allowing this
> syntax as a shorthand for a corresponding '--old X --new Y' diff invocation.
>
> Thanks Alexey, see http://svn.apache.org/r1442640
> Making these invocations produce a diff instead of an error makes things
> less surprising for users.

Hmm, okay, but I would have preferred some more discussion before you
implemented this. It's not clear to me that this decreases the
surprises. I can perfectly imagine just as many questions being asked
on users@ with the question: "Why does 'svn diff left.txt right.txt'
give me an empty diff, while 'svn diff ^/left.txt right.txt' does the
right thing?"

I think it would be better to consistently point users to the
--old/--new syntax, so as to educate users more (so I'm okay with the
change in the error message), not hide it even more from them.

Speaking of the error message:

On Tue, Feb 5, 2013 at 5:24 PM, Stefan Sperling  wrote:
> On Mon, Feb 04, 2013 at 04:39:32PM -0800, Alexey Neyman wrote:
>> What adds oil to the fire is that the error message, which claims that 
>> "Target
>> lists to diff may not contain both working copy paths and URL". If instead it
>> said that the supplied syntax is ambiguous and suggested to use --new/--old
>> for disambiguation, this would have saved a lot of frustration and would
>> eliminate the need of "svn compare" subcommand :)
>>
>> For example:
>> svn: Ambiguous target list (contains both work copy paths and URLs). Use
>> --old/--new syntax to disambiguate.
>
> Agreed. The error message wasn't very helpful.
> I've improved it in http://svn.apache.org/r1442645 based on your suggestion.
> Thanks!

How is this useful after r1442640? Seems to me we should either
improve the error message (which would be my preferred option) *or*
make 'svn diff' handle these automatically as a shorthand syntax
(hence no error message). But not both.

Or am I missing something?

-- 
Johan


RE: How do I refactor without confusing Subversion?[SEC=UNCLASSIFIED]

2013-02-05 Thread Thamm, Russell
UNCLASSIFIED

 
In any case, its probably about time to upgrade. (-:

-Original Message-
From: Daniel Shahaf [mailto:danie...@apache.org]
Sent: Thursday, 31 January 2013 6:24 PM
To: Thamm, Russell
Cc: users@subversion.apache.org; Andreas Tscharner
Subject: Re: How do I refactor without confusing
Subversion?[SEC=UNCLASSIFIED]

We're working on better move/rename support for 1.8, but I'm not sure
whether your specific use-case will already be fixed in 1.8 or not.
Maybe one of the other devs can comment on that.

Thamm, Russell wrote on Wed, Jan 30, 2013 at 13:39:38 +1030:
> UNCLASSIFIED
> 
> Thanks Andreas,
> 
> This seems like a significant limitation with subversion.  
> 
> Cheers
> Russell Thamm
> 
> 
> -Original Message-
> From: Andreas Tscharner [mailto:andreas.tschar...@metromec.ch]
> Sent: Wednesday, 30 January 2013 12:55 AM
> To: Thamm, Russell; users@subversion.apache.org
> Subject: RE: How do I refactor without confusing Subversion?
> [SEC=UNCLASSIFIED]
> 
> 
> [snip]
> > When I attempt to merge the trunk into the branch, I get a whole 
> > bunch
> 
> > of "Skipped missing target" errors. I only get these errors on moved

> > files. It seems that subversion is
> 
> [snip]
> > Have I done something wrong or is this a limitation with subversion?

> 
> This is a limitation of subversion. Subversion does not track 
> renames/moves for merging.

IMPORTANT: This email remains the property of the Department of Defence
and is subject to the jurisdiction of section 70 of the Crimes Act 1914.
If you have received this email in error, you are requested to contact
the sender and delete the email.



Re: data encryption

2013-02-05 Thread Thorsten Schöning
Guten Tag Hector Magnanao,
am Dienstag, 5. Februar 2013 um 19:29 schrieben Sie:

> Thanks, I guess my question wasn't so clear.  I was asking for
> something or a suggestion on how to encrypt data from Subversion.

This doesn't sound more clearly to more than the question before. :-/

> Also, can anyone give me any tips or suggestion on how to set up
> ldap authentication for Subversion ?

You should start a new thread for this and search the web, there are
a lot of of hits.

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning   E-Mail:thorsten.schoen...@am-soft.de
AM-SoFT IT-Systeme  http://www.AM-SoFT.de/

Telefon...05151-  9468- 55
Fax...05151-  9468- 88
Mobil..0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow



Re: FreeBSD project and subversion.

2013-02-05 Thread Alexey Neyman
On Tuesday, February 05, 2013 01:55:20 PM Lathan Bidwell wrote:
> On 02/05/2013 01:14 PM, Stefan Sperling wrote:
> > On Tue, Feb 05, 2013 at 09:19:19AM -0800, Alexey Neyman wrote:
> >> There is one more weird issue with svn diff, see the script below. The
> >> issue is that "--old=A --new=B" is not opposite of "--old=B --new=A". I
> >> don't know if it is a bug or another ambuguity I am not aware of :)
> >> 
> >> Here is the script:
> >> [[[
> >> #!/bin/bash
> >> 
> >> REPO=/tmp/foo
> >> WC=/tmp/foo.wc
> >> 
> >> rm -rf $REPO $WC
> >> svnadmin create $REPO
> >> svn co -q file://$REPO $WC
> >> cd $WC
> >> 
> >> echo r1 > a
> >> svn add -q a
> >> svn ci -q -m R1
> >> echo r2 > a
> >> svn ci -q -m R2
> >> svn up -q -r 1
> >> echo new > a
> >> echo "Issue: --old=A --new=B is not opposite of --old=B --new=A"
> >> echo "  Running: svn di --old=^/ --new=."
> >> svn di --old=^/ --new=.
> >> echo "  Running: svn di --old=. --new=^/"
> >> svn di --old=. --new=^/
> >> ]]]
> >> 
> >> And here is the output (svn 1.7.6):
> >> [[[
> >> Issue: --old=A --new=B is not opposite of --old=B --new=A
> >> 
> >>Running: svn di --old=^/ --new=.
> >> 
> >> Index: a
> >> ===
> >> --- a   (.../file:///tmp/foo)   (revision 2)
> >> +++ a   (working copy)
> >> @@ -1 +1 @@
> >> -r2
> >> +new
> >> 
> >>Running: svn di --old=. --new=^/
> >> 
> >> Index: a
> >> ===
> >> --- a   (working copy)
> >> +++ a   (.../file:///tmp/foo)   (revision 2)
> >> @@ -1 +1 @@
> >> -r1
> >> +r2
> >> ]]]
> >> 
> >> Regards,
> >> Alexey.
> > 
> > I can reproduce this with a trunk build. Can you please file an issue
> > for this? I'm not going to get to this right away. Thanks!
> 
> Here is the issue that I see:
> 
> The --old=. get's the workspace version of ., but --new get's the
> non-changed version of /.
> 
> So, I believe it is comparing "r1" with the r2 contents of "r2" and not
> comparing both workspace versions.
>
> RevContents
> 1r1
> 2r2
> 2*  new
> 
> 2* only get's referenced when it is in the --old position,
> 2 get's used when its in the --new position.
> 
> Please correct me if I'm wrong about this, but that is what seems to be
> a logical reasoning behind that behavior.

First, it is just the opposite: 2* gets referenced when it is in the --new, 
not --old position. Second, it is not the reasoning (why it behaves so) but 
rather a description of current behavior, which I think was rather obvious 
from the example script.

The reason for this behavior is that the code in diff-cmd.c makes the 
following defaults for the old/new revisions:

  if (opt_state->start_revision.kind == svn_opt_revision_unspecified)
opt_state->start_revision.kind = svn_path_is_url(old_target)
  ? svn_opt_revision_head : svn_opt_revision_base;

  if (opt_state->end_revision.kind == svn_opt_revision_unspecified)
opt_state->end_revision.kind = svn_path_is_url(new_target)
  ? svn_opt_revision_head : svn_opt_revision_working;

These defaults make some sense, given that new target is optional and defaults 
to old target if not specified. If new target is specified, and is different 
from from old target, I am not so sure if it makes sense. Note that there is a 
special case if both old/new targets are WC paths - in that case, both old and 
new targets default to svn_opt_revision_working. So,

$ svn diff --old=foo --new=bar

will compare modified version of 'foo' against modified version of 'bar' [*], 
but

$ svn diff --old=foo --new=^/bar

would compare base version of 'foo' against HEAD version of 'bar. Does it make 
sense? I would say, if both old and new are specified, old target's revision 
should default to 'working' as well.

Problem is further aggravated since there is no commandline alias to request 
svn_opt_revision_working setting from the command line: only 'head', 'prev', 
'base' and 'committed' are currently available. Hence, it is not possible to 
request the exact opposite of the patch using -rN:M syntax if one of the --
old/--new targets is a working copy path. Is there a reason why 'working' is 
not parsed by revision_from_word()?

Also note that 'svn help diff' does not describe revision defaults for 
synopsis 2 (and the default is different from synopsis 1, which requires old 
revision to be specified for URLs).

PS. Stephan apparently made 'working' revision as default in his check-in 
(r1442640) at least for the short-hand form, but Julian Foad, "optimizing the 
logic" in r1442659 and r1442676, switched it back to be the same as --old/--
new logic.

PPS. If agreed to suggested change of default, the patch is attached.

[[[
Make svn diff --old=.. --new=.. default to WORKING revision for old target
if new target is explicitly specified.

* subversion/svn/diff-cmd.c
  (svn_cl__diff) Change defaults as described and simplify the logic.
]]]

Regards,
Alexey.Index: su

Re: data encryption

2013-02-05 Thread Dave Huang

On 2/5/2013 4:09 PM, Thorsten Schöning wrote:

Guten Tag Hector Magnanao,
am Dienstag, 5. Februar 2013 um 19:29 schrieben Sie:


Thanks, I guess my question wasn't so clear.  I was asking for
something or a suggestion on how to encrypt data from Subversion.

This doesn't sound more clearly to more than the question before. :-/


I think he means he wants to know how to encrypt data transmitted 
between the Subversion server and the client... in which case, check the 
documentation on how to set up access to the repository through SSH 
and/or HTTPS. 
http://svnbook.red-bean.com/en/1.7/svn.serverconfig.choosing.html#svn.serverconfig.choosing.svn-ssh


Re: FreeBSD project and subversion.

2013-02-05 Thread Stefan Sperling
On Tue, Feb 05, 2013 at 09:18:33PM +0100, Johan Corveleyn wrote:
> Hmm, okay, but I would have preferred some more discussion before you
> implemented this. It's not clear to me that this decreases the
> surprises. I can perfectly imagine just as many questions being asked
> on users@ with the question: "Why does 'svn diff left.txt right.txt'
> give me an empty diff, while 'svn diff ^/left.txt right.txt' does the
> right thing?"
> 
> I think it would be better to consistently point users to the
> --old/--new syntax, so as to educate users more (so I'm okay with the
> change in the error message), not hide it even more from them.

Well, the point that convinced me was that previously 'svn diff' raised
an error in the case of 'svn diff ^/left.txt right.txt'.
That's clearly intended to be a comparison between a URL and a path,
which the diff code already supports. So I think the diff code should
just show an appropriate diff. I don't see how people could be conflating
a URL->WC or WC->URL diff with a WC->WC diff.

BTW, I'm thinking about adding more shortcuts:

  svn diff UNVERSIONED-PATH WCPATH
  svn diff WCPATH UNVERSIONED-PATH
  svn diff UNVERSIONED-PATH1 UNVERSIONED-PATH2

All of which are supported by 'svn diff --old=X --new=Y' (in 1.8-to-be,
not in 1.7), but not by plain 'svn diff'. 

The --old --new syntax is specific to Subversion. Many users who are
accustomed to "standard" diff commands will not try using --old and --new
(unless they've taken the time to read 'svn help diff', of course, which
apparently is too much time to ask from some users ;)

That said, if you'd rather just print the error message instead, that's
fine with me, too. I don't care strongly enough about this to the point
where I'd say that we _must_ make this change to 'svn diff'. It's been
committed, but that doesn't mean that this has to be in 1.8.0 at all costs.

> Speaking of the error message:

> How is this useful after r1442640? Seems to me we should either
> improve the error message (which would be my preferred option) *or*
> make 'svn diff' handle these automatically as a shorthand syntax
> (hence no error message). But not both.
> 
> Or am I missing something?

The error message is triggered by an invocation like:

 svn diff -c42 foo ^/trunk bar

Which is clearly invalid usage according to 'svn help diff'.


Re: Missing file prevents submitting unrelated changelists

2013-02-05 Thread Nick
On Mon, 2013-01-28 at 21:56 +0100, Johan Corveleyn wrote:
> On Mon, Jan 28, 2013 at 5:31 PM, Nick  wrote:
> > On Mon, 2013-01-28 at 18:03 +0200, Daniel Shahaf wrote:
> >> I see, perhaps I misread your initial script.  I wonder whether
> >> $ svn ci --cl "Add a and b" a b
> >> works...  (but no time to test right now :( )
> >
> > That works--files a and b are submitted despite file c missing.
> >
> > Should I open a bug on this now, or wait for one of the developers to
> > confirm it first?  I'm not in a rush, so whatever works best for the
> > devs.
> 
> Sounds like a bug to me. This one is somewhat similar (though not the same):
> 
> http://subversion.tigris.org/issues/show_bug.cgi?id=3484 (Submitting a
> changelist while obstructed item exists)

Right, similar in nature, but different in specifics.

Daniel:  Do you want to confirm before I open a bug?

Nick




Re: FreeBSD project and subversion.

2013-02-05 Thread Johan Corveleyn
On Wed, Feb 6, 2013 at 12:07 AM, Stefan Sperling  wrote:
> On Tue, Feb 05, 2013 at 09:18:33PM +0100, Johan Corveleyn wrote:
>> Hmm, okay, but I would have preferred some more discussion before you
>> implemented this. It's not clear to me that this decreases the
>> surprises. I can perfectly imagine just as many questions being asked
>> on users@ with the question: "Why does 'svn diff left.txt right.txt'
>> give me an empty diff, while 'svn diff ^/left.txt right.txt' does the
>> right thing?"
>>
>> I think it would be better to consistently point users to the
>> --old/--new syntax, so as to educate users more (so I'm okay with the
>> change in the error message), not hide it even more from them.
>
> Well, the point that convinced me was that previously 'svn diff' raised
> an error in the case of 'svn diff ^/left.txt right.txt'.
> That's clearly intended to be a comparison between a URL and a path,
> which the diff code already supports. So I think the diff code should
> just show an appropriate diff. I don't see how people could be conflating
> a URL->WC or WC->URL diff with a WC->WC diff.
>
> BTW, I'm thinking about adding more shortcuts:
>
>   svn diff UNVERSIONED-PATH WCPATH
>   svn diff WCPATH UNVERSIONED-PATH
>   svn diff UNVERSIONED-PATH1 UNVERSIONED-PATH2
>
> All of which are supported by 'svn diff --old=X --new=Y' (in 1.8-to-be,
> not in 1.7), but not by plain 'svn diff'.
>
> The --old --new syntax is specific to Subversion. Many users who are
> accustomed to "standard" diff commands will not try using --old and --new
> (unless they've taken the time to read 'svn help diff', of course, which
> apparently is too much time to ask from some users ;)
>
> That said, if you'd rather just print the error message instead, that's
> fine with me, too. I don't care strongly enough about this to the point
> where I'd say that we _must_ make this change to 'svn diff'. It's been
> committed, but that doesn't mean that this has to be in 1.8.0 at all costs.

Nah, it's fine, I think I'm starting to get convinced ;-). But it's
still a pity that there is no relief (at least I don't see any) for
confusion around the fact that 'svn diff WC-PATH1 WC-PATH2' doesn't
diff WC-PATH1 and WC-PATH2 against each other.

The shorthands with the unversioned paths are quite nice I think, but
there is an additional risk of confusion: 'svn diff UNVERSIONED-PATH1
UNVERSIONED-PATH2' will mean something totally different than 'svn
diff WC-PATH1 WC-PATH2' (even though they could both refer to the same
local files, but the commands are separated by an invocation of 'svn
add').

>> Speaking of the error message:
>
>> How is this useful after r1442640? Seems to me we should either
>> improve the error message (which would be my preferred option) *or*
>> make 'svn diff' handle these automatically as a shorthand syntax
>> (hence no error message). But not both.
>>
>> Or am I missing something?
>
> The error message is triggered by an invocation like:
>
>  svn diff -c42 foo ^/trunk bar
>
> Which is clearly invalid usage according to 'svn help diff'.

Yes, but in this case the user gives 3 targets, so he clearly couldn't
have meant one of the shorthand syntaxes, right?

-- 
Johan


Re: Missing file prevents submitting unrelated changelists

2013-02-05 Thread Stefan Sperling
On Tue, Feb 05, 2013 at 06:23:10PM -0500, Nick wrote:
> On Mon, 2013-01-28 at 21:56 +0100, Johan Corveleyn wrote:
> > Sounds like a bug to me. This one is somewhat similar (though not the same):
> > 
> > http://subversion.tigris.org/issues/show_bug.cgi?id=3484 (Submitting a
> > changelist while obstructed item exists)
> 
> Right, similar in nature, but different in specifics.
> 
> Daniel:  Do you want to confirm before I open a bug?
> 
> Nick

I agree it's a bug. The state of items not in the changelist shouldn't
affect commit of items in the changelist. Please file a bug so that
someone will take a look at it eventually! Thanks :)
Please don't forget to include a link to this thread in the issue (either
in the 'URL' field of the issue or simply in a comment attached to the issue).


RE: FreeBSD project and subversion.

2013-02-05 Thread Bert Huijben


> -Original Message-
> From: Stefan Sperling [mailto:s...@apache.org]
> Sent: woensdag 6 februari 2013 00:08
> To: Johan Corveleyn
> Cc: Alexey Neyman; users@subversion.apache.org; Alfred Perlstein
> Subject: Re: FreeBSD project and subversion.
> 
> On Tue, Feb 05, 2013 at 09:18:33PM +0100, Johan Corveleyn wrote:
> > Hmm, okay, but I would have preferred some more discussion before you
> > implemented this. It's not clear to me that this decreases the
> > surprises. I can perfectly imagine just as many questions being asked
> > on users@ with the question: "Why does 'svn diff left.txt right.txt'
> > give me an empty diff, while 'svn diff ^/left.txt right.txt' does the
> > right thing?"
> >
> > I think it would be better to consistently point users to the
> > --old/--new syntax, so as to educate users more (so I'm okay with the
> > change in the error message), not hide it even more from them.
> 
> Well, the point that convinced me was that previously 'svn diff' raised
> an error in the case of 'svn diff ^/left.txt right.txt'.
> That's clearly intended to be a comparison between a URL and a path,
> which the diff code already supports. So I think the diff code should
> just show an appropriate diff. I don't see how people could be conflating
> a URL->WC or WC->URL diff with a WC->WC diff.
> 
> BTW, I'm thinking about adding more shortcuts:
> 
>   svn diff UNVERSIONED-PATH WCPATH
>   svn diff WCPATH UNVERSIONED-PATH
>   svn diff UNVERSIONED-PATH1 UNVERSIONED-PATH2
> 
> All of which are supported by 'svn diff --old=X --new=Y' (in 1.8-to-be,
> not in 1.7), but not by plain 'svn diff'.

I'm not sure if I like these variants with unversioned paths.

This might make users think that these paths are versioned and without
warning who wouldn't expect that?

The new unversioned/arbitrary diff is nice in specific situations, but it
shouldn't' break the normal cases where 'svn diff *' would do one thing
completely differently if it happens to match exactly two files, where one
is versioned and one is not, or both are unversioned.

If we want something like that we should support that with a flag like
--unversioned (better name suggestions welcome)

I really like the url vs path diff changes though.

Bert



Re: FreeBSD project and subversion.

2013-02-05 Thread Stefan Sperling
On Wed, Feb 06, 2013 at 12:30:05AM +0100, Johan Corveleyn wrote:
> Nah, it's fine, I think I'm starting to get convinced ;-). But it's
> still a pity that there is no relief (at least I don't see any) for
> confusion around the fact that 'svn diff WC-PATH1 WC-PATH2' doesn't
> diff WC-PATH1 and WC-PATH2 against each other.

I agree very much that it is rather confusing that
  svn diff WC-PATH1 WC-PATH1
does something else than:
  svn diff --old WC-PATH1 --new WC-PATH2

However, I think that the current help text makes the difference clear,
if only the user cares to read it.

As long as the documentation is clear enough, such subtleties are fine
with me. I mean that I'll probably be able to remember them and explain them
to people -- which is what I'm supposed to be doing at $DAYJOB -- hence
that's why I'm fine with it :)

Joke aside, I'm not sure if there is a really good way to resolve these
ambiguities. I don't really like that fact that we've got these --old and
--new options in the first place. It seems like a crutch for a lack of a
better syntax that can express all use cases equally well without being
rather weird and uncommon. But since the syntax is present in releases we
have to keep supporting it...

> The shorthands with the unversioned paths are quite nice I think, but
> there is an additional risk of confusion: 'svn diff UNVERSIONED-PATH1
> UNVERSIONED-PATH2' will mean something totally different than 'svn
> diff WC-PATH1 WC-PATH2' (even though they could both refer to the same
> local files, but the commands are separated by an invocation of 'svn
> add').

Yeah, it is going to make things even more confusing, of course!
But only for those who type the diff command and expect a different
result than they're getting :)
 
> > The error message is triggered by an invocation like:
> >
> >  svn diff -c42 foo ^/trunk bar
> >
> > Which is clearly invalid usage according to 'svn help diff'.
> 
> Yes, but in this case the user gives 3 targets, so he clearly couldn't
> have meant one of the shorthand syntaxes, right?

Only if the user did not understand the (somewhat obscure by nature) help
text... The warning is really meant to get people who provide nonsense
arguments to read 'svn help diff'.


Re: FreeBSD project and subversion.

2013-02-05 Thread Branko Čibej
On 06.02.2013 00:58, Stefan Sperling wrote:
> Joke aside, I'm not sure if there is a really good way to resolve
> these ambiguities. I don't really like that fact that we've got these
> --old and --new options in the first place. It seems like a crutch for
> a lack of a better syntax that can express all use cases equally well
> without being rather weird and uncommon. But since the syntax is
> present in releases we have to keep supporting it... 

I agree about not liking --old and --new. But we went through exactly
the same arguments back in the day when they were invented, and the
argument that won was against confusing users with the fact that:

$ svn diff param1 param2

could have two completely different meanings based on some magic
involved in interpreted the parameters, whereas:

$ svn diff param1

or

$ svn diff param1 param2 param3

can each have only one meaning.

I think the only way out of adding --new and --old, given the premise
that user confusion was absolutely evil (which I agreed with and still
do), would have been to have only two forms of "svn diff" -- the
one-parameter form that produces a historical diff, and the
two-parameter form which would produce a diff between the two targets.
However, that was seen as insufficient, given the (then) goal of CVS
feature parity, and simple usability required that we had a way to
produce historical diffs for N targets (where N >= 1).

Given all the above, I think we should find a way to warn users -- with
a one-line note in the header of the diff output, for example? -- about
the cases where the two-parameter diff could be ambiguous (which, I
believe, is when both parametrs are WC paths or URLs); and further, when
any of the paths are unversioned.

-- Brane

-- 
Branko Čibej
Director of Subversion | WANdisco | www.wandisco.com