Re: Seg fault when committing 'forks' with svn 1.8.1 client

2013-08-23 Thread Philip Martin
Stephane Odul  writes:

> I have a project that I need to fork (in the same repo):
> $ svn cp foo bar
> $ svn rm bar/trunk/some_dir
> $ svn rm bar/trunk/some_file
> $ emacs bart/trunk/other_files
> $ svn ci
> Segmentation fault: 11

Is that issue 4400?
http://subversion.tigris.org/issues/show_bug.cgi?id=4400
If so it should be fixed in 1.8.3.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*


Re: assertion failed (SV_IS_VALID_REVNUM(*youngest))

2013-08-23 Thread Stefan Sperling
On Wed, Aug 21, 2013 at 09:44:00AM -0600, Scott Chantry wrote:
> TortoiseSVN 1.8.1 windows x64. I opened up repo browser and after a long
> wait, this error popped up. I can't do anything with tortoisesvn1.8.1

I believe this will be fixed with Subversion 1.8.3 (ETA end of next week). 
Please let us know if that isn't the case.
 
> ---
> Subversion Exception!
> ---
> Subversion encountered a serious problem.
> Please take the time to report this on the Subversion mailing list
> with as much information as possible about what
> you were trying to do.
> But please first search the mailing list archives for the error message
> to avoid reporting the same problem repeatedly.
> You can find the mailing list archives at
> http://subversion.apache.org/mailing-lists.html
> 
> Subversion reported the following
> (you can copy the content of this dialog
> to the clipboard using Ctrl-C):
> 
> In file
>  
> 'D:\Development\SVN\Releases\TortoiseSVN-1.8.1\ext\subversion\subversion\libsvn_ra_serf\options.c'
>  line 446: assertion failed (SVN_IS_VALID_REVNUM(*youngest))
> ---
> OK
> ---


Re: using "svn merge", "svn diff", and "svn patch"

2013-08-23 Thread Stefan Sperling
On Thu, Aug 22, 2013 at 09:40:08AM -0400, James Hanley wrote:
> So other then tar-ing up the WC, there is no way to reproduce local changes
> like this on another system?  I know the example given is fairly simple,
> but it could be very useful.

If the changeset you want to transfer between working copies cannot
be fully represented by 'svn diff'/'svn patch' (i.e. it contains copies,
replacements, or svn:mergeinfo changes), I would recommend to commit
your changeset to a new branch and checkout/merge that branch elsewhere.

The changes will appear in repository history but they don't need
to affect anything of value.

Say you did:

  svn checkout TRUNK_URL first-wc
  cd first-wc
  make changes in first-wc

Now you could do this to create a new branch:

  svn copy ^/trunk ^/branches/my-new-branch
  svn switch ^/branches/my-new-branch
  svn commit

Or even just:

  svn copy . ^/branches/my-new-branch

The other side can now checkout the branch:

  svn checkout ^/branches/my-new-branch

Or switch an existing trunk working copy to the branch:

  cd other-trunk-wc
  svn switch ^/branches/my-new-branch

Or merge the branch into an existing trunk working copy:

  cd other-trunk-wc
  svn merge ^/branches/my-new-branch

(The above assumes a Subversion 1.8 client. Older clients need the
--reintegrate option).


New To SVN

2013-08-23 Thread Deepak Bhatia
Hello,

I am able to create the repository using

svnadmin create --fs-type fsfs http://demo/~deepak/svn

But the import of a directory is giving error

-bash-4.2$ svn import -m "New import" /home/deepak/keyword_spotter
http://localhost/~deepak/svn
svn: Repository moved permanently to 'http://demo/~deepak/svn/'; please
relocate

Regards

Deepak Bhatia
Software Consultant
Voxomos Systems Pvt. Limited
Mobile: 91 9811196957
C56A/27, Sector 62, NOIDA (NCR), UP, India
Skype: toreachdeepak


Re: New To SVN

2013-08-23 Thread Stefan Sperling
On Fri, Aug 23, 2013 at 06:07:42PM +0530, Deepak Bhatia wrote:
> Hello,
> 
> I am able to create the repository using
> 
> svnadmin create --fs-type fsfs http://demo/~deepak/svn

'svnadmin create' requires a local path to a directory that
does not yet exist. It is supposed to be run on the SVN server itself.
It cannot work over HTTP. You need command line access to the server.

You've created a repository on your client computer in a directory
which has a name that looks like a URL.

Please see here for details:
http://svnbook.red-bean.com/en/1.8/svn.reposadmin.maint.html

> But the import of a directory is giving error
> 
> -bash-4.2$ svn import -m "New import" /home/deepak/keyword_spotter
> http://localhost/~deepak/svn
> svn: Repository moved permanently to 'http://demo/~deepak/svn/'; please
> relocate
> 
> Regards
> 
> Deepak Bhatia
> Software Consultant
> Voxomos Systems Pvt. Limited
> Mobile: 91 9811196957
> C56A/27, Sector 62, NOIDA (NCR), UP, India
> Skype: toreachdeepak


Re: New To SVN

2013-08-23 Thread Deepak Bhatia
Hello,

Ok I created a repository by giving the absolute path to the directory.

svnadmin create --fs-type fsfs /home/deepak/public_html/svn2

Then importing a directory is giving the error

-bash-4.2$ svn import -m "New Import" . http://demo.voxomos.com/~deepak/svn2
svn: Repository moved permanently to 'http://demo.voxomos.com/~deepak/svn2/';
please relocate


Deepak Bhatia
Software Consultant
Voxomos Systems Pvt. Limited
Mobile: 91 9811196957
C56A/27, Sector 62, NOIDA (NCR), UP, India
Skype: toreachdeepak


On Fri, Aug 23, 2013 at 6:17 PM, Stefan Sperling  wrote:

> On Fri, Aug 23, 2013 at 06:07:42PM +0530, Deepak Bhatia wrote:
> > Hello,
> >
> > I am able to create the repository using
> >
> > svnadmin create --fs-type fsfs http://demo/~deepak/svn
>
> 'svnadmin create' requires a local path to a directory that
> does not yet exist. It is supposed to be run on the SVN server itself.
> It cannot work over HTTP. You need command line access to the server.
>
> You've created a repository on your client computer in a directory
> which has a name that looks like a URL.
>
> Please see here for details:
> http://svnbook.red-bean.com/en/1.8/svn.reposadmin.maint.html
>
> > But the import of a directory is giving error
> >
> > -bash-4.2$ svn import -m "New import" /home/deepak/keyword_spotter
> > http://localhost/~deepak/svn
> > svn: Repository moved permanently to 'http://demo/~deepak/svn/';
> please
> > relocate
> >
> > Regards
> >
> > Deepak Bhatia
> > Software Consultant
> > Voxomos Systems Pvt. Limited
> > Mobile: 91 9811196957
> > C56A/27, Sector 62, NOIDA (NCR), UP, India
> > Skype: toreachdeepak
>


svn merge

2013-08-23 Thread Brestin Sebastian
How reliable is svn merge? What changes are that it fails with
success(instead of throwing a conflict it does a wrong merge)?


Re: New To SVN

2013-08-23 Thread Stefan Sperling
On Fri, Aug 23, 2013 at 06:38:42PM +0530, Deepak Bhatia wrote:
> Hello,
> 
> Ok I created a repository by giving the absolute path to the directory.
> 
> svnadmin create --fs-type fsfs /home/deepak/public_html/svn2
> 
> Then importing a directory is giving the error
> 
> -bash-4.2$ svn import -m "New Import" . http://demo.voxomos.com/~deepak/svn2
> svn: Repository moved permanently to 'http://demo.voxomos.com/~deepak/svn2/';
> please relocate

How did you configure HTTPD for Subversion exactly?

You'll need to add a  statement to your httpd
configuration that maps a URL such as http://demo.voxomos.com/svn/
to the on-disk path /home/deepak/public_html/svn2.

Something like this:

 
   ...
   SVNPath /home/deepak/public_html/svn2
   ...
 

Then use the URL http://demo.voxomos.com/svn/ to access the repositories.

More details at http://svnbook.red-bean.com/en/1.7/svn.serverconfig.httpd.html


Re: Feature Req: sorthand urls for branches/tags in CLI

2013-08-23 Thread Daniel Shahaf
Ben Reser wrote on Thu, Aug 22, 2013 at 22:18:49 -0700:
> bA=^/project1/branches/branchA
> svn merge $bA

That was also the argument against adding ^/, wasn't it?

The counter-argument is that "Make URL targets easier to input" is
a problem that every user of the cmdline client has (scripts included,
btw), so it makes sense to solve it centrally.

> I'm sure you can probably even get your shell to be fancy and figure out
> what project you're working in and apply the proper root (you have
> access to this with svn info).
> 
> Additionally I'm concerned that this just confuses the meaning for users
> of how ^/ works.  I can already see the user complaints that Subversion
> merged the wrong thing for them because they forget -b.
> 
> Let's just say that at this point I'm skeptical of the need for this.

I don't like -b.  It's a confusing syntax, mixing named and positional
arguments (how would it work with 'svn diff --old=URL'?), interferering
with the '--' convention, etc.

But extending ^/bar to ^foo/bar is something I've long wanted to see,
precisely so that URLs other than the repository root may be
abbreviated.  (Right now ^ must always be followed by /.)  I've been
thinking of a config file entry, mapping "foo" to expanded value of
"^/foo", but an inherited property (so we don't need to figure out
"/subversion" from the wc root URL's[1]) is an interesting alternative.

A problem with the regexp captures approach is that it doesn't allow
shortening the basename, while I would like to, say, shorten
"fsfs-improvements" and "invoke-diff-cmd-feature" to "fsfs-imp" and,
say, "idc".  Perhaps we should extend the syntax to allow making
something other than \1 (first capture group) the shortname of a given
regexp match?

Daniel



[1] We can't assume a particular repository layout.


RE: Feature Req: sorthand urls for branches/tags in CLI

2013-08-23 Thread Andrew Reedick


> -Original Message-
> From: Laszlo Kishalmi [mailto:lkisha...@ovi.com]
> Sent: Thursday, August 22, 2013 5:15 PM
> To: users@subversion.apache.org
> Subject: Feature Req: sorthand urls for branches/tags in CLI
> 
> 
> 
> Implementation ideas:
>   We put a specific property on project1 folder let's call it
>   svn:branches for now. Here we could describe the layout of
>   branches and tags for that part of repository. E.g.:
>   a) Using prefixes:
>   /
>   /branches/
>   /tags/
>   b) Using some custom mapping/lists:
>   trunk
>   branches/*
>   tags/*
>   c) Using regexp captures:
>   (trunk)
>   branches/(\w+)
>   tags/(\w+)
>   Having this info, the path where this property is set, the name
>   of the branch and the current path relative to wc root it is
>   possible to construct a repository URL to be used.
> 
> As far as I currently see there would be no change required on server
> side.
> 

Subversion doesn't have branches.  I'd rather see branches as first class 
objects before we hack out a "-b" option.  It's still an interesting idea, 
though.

What happens when the svn:branches property gets merged or copied?  It's an 
edge case, but it could cause an amusing amount of chaos if svn:branches gets 
copied around or merged unexpectedly.
What is the behavior when you are in an externals?  Do you respect the 
svn:branches in the externals, or do you work from the local repo's 
svn:branches, or neither?

Overall, I'm not sure it would save a significant amount of typing.  If you 
have a standard trunk/branches/tags repo structure, then you're not saving a 
lot by using "-b foo" in place of "^/branches/foo".  Having to set 
'svn:branches' for repos with non-standard trunk/branches/tags trees is a bit 
inconvenient and would discourage use.  




Re: Feature Req: sorthand urls for branches/tags in CLI

2013-08-23 Thread Branko Čibej
On 23.08.2013 16:06, Andrew Reedick wrote:
>
>> -Original Message-
>> From: Laszlo Kishalmi [mailto:lkisha...@ovi.com]
>> Sent: Thursday, August 22, 2013 5:15 PM
>> To: users@subversion.apache.org
>> Subject: Feature Req: sorthand urls for branches/tags in CLI
>>
>>
>>
>> Implementation ideas:
>>  We put a specific property on project1 folder let's call it
>>  svn:branches for now. Here we could describe the layout of
>>  branches and tags for that part of repository. E.g.:
>>  a) Using prefixes:
>>  /
>>  /branches/
>>  /tags/
>>  b) Using some custom mapping/lists:
>>  trunk
>>  branches/*
>>  tags/*
>>  c) Using regexp captures:
>>  (trunk)
>>  branches/(\w+)
>>  tags/(\w+)
>>  Having this info, the path where this property is set, the name
>>  of the branch and the current path relative to wc root it is
>>  possible to construct a repository URL to be used.
>>
>> As far as I currently see there would be no change required on server
>> side.
>>
> Subversion doesn't have branches.  I'd rather see branches as first class 
> objects before we hack out a "-b" option.  It's still an interesting idea, 
> though.
>
> What happens when the svn:branches property gets merged or copied?  It's an 
> edge case, but it could cause an amusing amount of chaos if svn:branches gets 
> copied around or merged unexpectedly.
> What is the behavior when you are in an externals?  Do you respect the 
> svn:branches in the externals, or do you work from the local repo's 
> svn:branches, or neither?
>
> Overall, I'm not sure it would save a significant amount of typing.  If you 
> have a standard trunk/branches/tags repo structure, then you're not saving a 
> lot by using "-b foo" in place of "^/branches/foo".  Having to set 
> 'svn:branches' for repos with non-standard trunk/branches/tags trees is a bit 
> inconvenient and would discourage use.  

Actually I find the idea of having a single propery to define project
layout totally wrong. What if, at a later date, you change the project
structure? Who is responsible for updating the property? How do you keep
it in sync with reality? How do you detect that it's out of sync?

Those are just a few considerations that have to be addressed, and
frankly I don't think there's any sane way of addressing them. This is
like the svn:externals mess all over again.

It would be much safer IMO if the root of each branch were identified by
a property instead. For example: we could introduce an svn:branch
property that can be set only on directories. The presence of such a
property tells the client and server that the directory is a branch and
should be treated specially. The property could not be manipulated
directly via propset or propedit, but only through branch-specific
commands; for example:

  * svn mkdir --branch
Creates a new directory with the svn:branch property set, with an
empty value
Example: svn mkdir --branch http://host/repo/trunk
  * svn copy
If the source is a branch, the target also becomes a branch. The
value of the target's svn:branch property is the path@revision of
the source (thus, the client and server can easily recognize related
branches and branch points). Using property inheritance, client and
server can enforce constraints on allowed branching (e.g., forbid
branching into a copy of the source branch)
  * svn move
Can implement restrictions upon where branches can be moved to,
similar to "svn copy"
  * svn diff, svn merge, svn switch
These commands could make use of a (new) shorthand syntax to
identify branches, based on their (base)name and the presence of the
svn:branch property.


We actually had quite a fight^Winteresting discussion about this at the
Berlin hackathon this year.

-- Brane

-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com


RE: Switching

2013-08-23 Thread John Maher
I will try to explain one more time.  The files in question are settings files 
(think config files) and intermediate compilet generated files.  The settings 
files can be recreated at any time.  If they are wrong the only thing affected 
is the development environment.  The other files get recreated every time the 
code is run, plus they never get into production.  So they 1) could be 
recreated any time at will with the versioned code files and 2) they will never 
be in production anyway.  Don't read more than what is stated otherwise you 
have a chance of being wrong and wasting time.  Someone was claiming the files 
are "important" which I never stated.  I didn't even respond to the mail since 
it was erroneous and irrelevant.


The real reason I responded is the force option eliminates the conflict but 
creates some questions.  The documentation says using it will make sure 
"unversioned obstructiong paths do not cause a failure".  Could that also be 
written as "unversioned obstructiong paths do not cause a conflict"?  Or is 
there some other kind of failure that I do not know about.

The problem this fixes displays as "Local unversioned, incoming add upon 
switch" which is the result of a switch.  The revert command fails to bring my 
working copy back to its unconflicted state.  Switching back also fails.

The question is can I bring back my working directory from a failed switch (I'm 
talking undo, not resolve) so I can use the force option or must I always use 
the force option to be able to switch branches?


Have a good weekend
JM
-Original Message-
From: Les Mikesell [mailto:lesmikes...@gmail.com] 
Sent: Thursday, August 22, 2013 5:17 PM
To: John Maher
Cc: Edwin Castro; users@subversion.apache.org
Subject: Re: Switching

On Thu, Aug 22, 2013 at 1:34 PM, John Maher  wrote:
> Again Les, you misunderstand.  I have no problems with the workspace.  It is 
> exactly the same for everyone, everytime.  Please read carefully before you 
> respond.  It has nothing to do with the build.  It is user settings, a config 
> file, ini file, choose your terminology.  If you don't understand please ask 
> for clarification instead of making incorrect assumptions.

The contents of the file are irrelevant.  The point is that it has to either be 
versioned so svn can delete it knowing that you can get it back, and then 
delete the containing directory that is really the issue, or you have to delete 
it yourself.  Pick one.  If it really is always the same, I don't see the 
problem with committing it.  If it isn't, and you need to reproduce it, you 
need to work out a way to do that, or use the multiple-checkout approach to 
maintain dirty workspaces, realizing that you can't reproduce them reliably.
Personally, I don't like things that rely on any unversioned state getting into 
production releases.  That developer will leave or that machine will crash and 
all the magic is gone - and if you can't do a matching build on a clean machine 
from a clean checkout, you won't ever know how much magic was involved.

-- 
   Les Mikesell
 lesmikes...@gmail.com




Re: Switching

2013-08-23 Thread Anders J. Munch
Edwin Castro wrote:
> I think the --force option is dangerous. Try it out but, in my opinion,
> you should not use it.

Why? Doesn't it perfectly solve the described problem?

I had like so many others given up on switch, because cleaning up
working copies prior to the switch was annoying busywork, an
unnecessary risk (you might delete files that you wished you hadn't)
and very easily forgotten, leading to a messed up working copy. But
now I'm beginning to rethink that; I just have to remember to use
--force with every svn switch.

I don't buy the argument about different histories: the pre-existing
directory doesn't have a subversion history, so from svn's point of
view there is no conflict.  What are the real, practical problems that
you know of or foresee with svn swich --force?

regards, Anders



Re: Switching

2013-08-23 Thread Edwin Castro
On 8/23/13 8:16 AM, Anders J. Munch wrote:
> Edwin Castro wrote:
>> I think the --force option is dangerous. Try it out but, in my opinion,
>> you should not use it.
> Why? Doesn't it perfectly solve the described problem?

The problem with --force, as the documentation points out, is that it
can make things versioned that were previously unversioned. Using a
concrete example, a *.sou file that was previously unversioned might
become versioned after a switch and then gets committed, accidentally,
into your respository.

> I had like so many others given up on switch, because cleaning up
> working copies prior to the switch was annoying busywork, an
> unnecessary risk (you might delete files that you wished you hadn't)
> and very easily forgotten, leading to a messed up working copy. But
> now I'm beginning to rethink that; I just have to remember to use
> --force with every svn switch.
>
> I don't buy the argument about different histories: the pre-existing
> directory doesn't have a subversion history, so from svn's point of
> view there is no conflict.  What are the real, practical problems that
> you know of or foresee with svn swich --force?
>

When objects do not have history, then subversion is in the position to
try to decide what to do with content that already exists on the
filesystem. It can't make reasonable decisions because there is no base
revision to use in the 3-way diff. Ultimately, the proper response is
for subversion to say "I can't add the file/directory/what-have-you
because there is something blocking my way". It then becomes the user's
responsibility to determine what to do. Thinking in the most general
sense, one solution for this scenario might work well for one individual
but not another. The prescribed solution might not even work reliably
every time that one individual sees this scenario. In order for
subversion to do the right thing it would need to be psychic. I'm afraid
subversion already takes the best possible action which is to require
user intervention.

--
Edwin G. Castro



Re: Switching

2013-08-23 Thread Edwin Castro
On 8/23/13 7:43 AM, John Maher wrote:
> The question is can I bring back my working directory from a failed switch 
> (I'm talking undo, not resolve) so I can use the force option or must I 
> always use the force option to be able to switch branches?

I think the mailing list has already said the *best* way to use switch
is to have a clean working copy (clean out all ignored and unversioned
files which is admittedly inconvenient). Some offered the opinion that
the best way to use switch was to not use it at all.

One way to bring back your working directory from a failed switch is to
delete the conflicted directory and then svn update. If your entire
working copy is "failed" then you'd need to delete the working copy and
checkout again.

I suppose you could try switching back to a branch that doesn't contain
the directory in question, clean up, and then switch back.

Use --force with caution. According to the documentation it can
accidentally version previously unversioned files.

--
Edwin G. Castro



Re: Switching

2013-08-23 Thread Edwin Castro
On 8/23/13 7:43 AM, John Maher wrote:
> The files in question are settings files (think config files) and 
> intermediate compilet generated files.  The settings files can be recreated 
> at any time.  If they are wrong the only thing affected is the development 
> environment.  The other files get recreated every time the code is run, plus 
> they never get into production.  So they 1) could be recreated any time at 
> will with the versioned code files and 2) they will never be in production 
> anyway.  Don't read more than what is stated otherwise you have a chance of 
> being wrong and wasting time.

When these files get in the way of subversion performing an operation,
then the sensible thing to do is to delete them. I think I heard many
people voice this opinion on this mailing list. If their contents should
be kept around then they should be versioned. That opinion was also
voiced by the mailing list.

--
Edwin G. Castro



Re: Switching

2013-08-23 Thread Stefan Sperling
On Fri, Aug 23, 2013 at 09:24:52AM -0700, Edwin Castro wrote:
> I think the mailing list has already said the *best* way to use switch
> is to have a clean working copy (clean out all ignored and unversioned
> files which is admittedly inconvenient).

This won't help right now, but cleaning out such items will be easier
in Subversion 1.9: https://blog.elegosoft.com/?q=cleaning-up-svn-cleanup


RE: Switching

2013-08-23 Thread John Maher
Good to know, thank you.


-Original Message-
From: Stefan Sperling [mailto:s...@elego.de] 
Sent: Friday, August 23, 2013 12:50 PM
To: Edwin Castro
Cc: users@subversion.apache.org
Subject: Re: Switching

On Fri, Aug 23, 2013 at 09:24:52AM -0700, Edwin Castro wrote:
> I think the mailing list has already said the *best* way to use switch 
> is to have a clean working copy (clean out all ignored and unversioned 
> files which is admittedly inconvenient).

This won't help right now, but cleaning out such items will be easier in 
Subversion 1.9: https://blog.elegosoft.com/?q=cleaning-up-svn-cleanup




Re: Switching

2013-08-23 Thread Les Mikesell
On Fri, Aug 23, 2013 at 11:17 AM, Edwin Castro <0ptikgh...@gmx.us> wrote:
>>>
>> I don't buy the argument about different histories: the pre-existing
>> directory doesn't have a subversion history, so from svn's point of
>> view there is no conflict.  What are the real, practical problems that
>> you know of or foresee with svn swich --force?
>>
>
> When objects do not have history, then subversion is in the position to
> try to decide what to do with content that already exists on the
> filesystem.

I can't, off the top of my head, think of a scenario where it would be
harmful to replace an unversioned directory with a versioned instance,
leaving any unversioned local files that happen to be there alone.
Other than maybe the chance that you'd accidentally commit them later,
but that is no different than if you had put the local files in after
the switch.  Am I missing something?   Is there a way to --force that
without also potentially --force'ing files that conflict to be
clobbered?

-- 
   Les Mikesell
 lesmikes...@gmail.com


Re: Switching

2013-08-23 Thread Edwin Castro
On 8/23/13 10:34 AM, Les Mikesell wrote:
> I can't, off the top of my head, think of a scenario where it would be
> harmful to replace an unversioned directory with a versioned instance,
> leaving any unversioned local files that happen to be there alone.

Leaving unversioned local files alone in a directory is not the problem.
I've personally ran into scenarios where the local directory contained
unversioned local files that obstruct a file that will be added by a
switch/update/merge/what-have-you. If the local file's content matches
the content in the repository, then I think it is safe to simply replace
the unversioned local file with the versioned file from the repository.
Often, the content has not been the same. It all depends on a lot of
factors such as how it became unversioned, what has happened to the file
while it was unversioned, etc. Replacing the content of the local file
with the content in the repository looses local data. Merging the
unversioned content and the versioned content usually result in poor
merges (in the best case scenario) because there is no base revision to
use in the 3-way merge. I've seen merges like this get committed
accidentally and cause havoc. Of course, using the unversioned local
content instead of merging the content from the repository could
accidentally replace the entire contents of the file and this can
accidentally get committed as well. Subversion needs the user's help to
figure out what to do and marks these conflicts as tree conflicts.




Re: Switching

2013-08-23 Thread Les Mikesell
On Fri, Aug 23, 2013 at 1:09 PM, Edwin Castro <0ptikgh...@gmx.us> wrote:

>> I can't, off the top of my head, think of a scenario where it would be
>> harmful to replace an unversioned directory with a versioned instance,
>> leaving any unversioned local files that happen to be there alone.
>
> Leaving unversioned local files alone in a directory is not the problem.

I think it is the problem we've been discussing.  Leaving them means
you have to keep the containing directory, which becomes unversioned
as you switch away from the branch having it, and then a conflict when
you switch back.

> I've personally ran into scenarios where the local directory contained
> unversioned local files that obstruct a file that will be added by a
> switch/update/merge/what-have-you.

Don't think that's the case here.  These files are supposed to be
svn-ignored, so they should not have a copy in the repo.

> If the local file's content matches
> the content in the repository, then I think it is safe to simply replace
> the unversioned local file with the versioned file from the repository.

Yes, that would be handy - and harmless - as well.

> Often, the content has not been the same. It all depends on a lot of
> factors such as how it became unversioned, what has happened to the file
> while it was unversioned, etc. Replacing the content of the local file
> with the content in the repository looses local data.

Agreed, there is no reasonable way to handle this case automatically.
But it shouldn't happen as long as the clutter is never committed.

It is probably bad practice to default to letting cruft stay across
switches since your workspace would end up different than a fresh
checkout but it would be handy to have a way to force mostly-harmless
operations without overwriting any differing file data.

-- 
   Les Mikesell
  lesmikes...@gmail.com


RE: Switching

2013-08-23 Thread Andrew Reedick


> -Original Message-
> From: Les Mikesell [mailto:lesmikes...@gmail.com]
> Sent: Friday, August 23, 2013 1:34 PM
> To: Edwin Castro
> Cc: Subversion
> Subject: Re: Switching
> 
> 
> I can't, off the top of my head, think of a scenario where it would be
> harmful to replace an unversioned directory with a versioned instance,
> leaving any unversioned local files that happen to be there alone.
> Other than maybe the chance that you'd accidentally commit them later,
> but that is no different than if you had put the local files in after
> the switch.  Am I missing something?   Is there a way to --force that
> without also potentially --force'ing files that conflict to be
> clobbered?
> 

Dir permissions and ownership would change to that of the current user and 
umask and could create a security gap, but that probably falls under "if you're 
using --force, it's on your head".  

How are symlinks handled by switch --force?  It fails, or does it look at the 
target file/dir when deciding whether to replace it with a versioned object?

How are hardlinks handled by switch --force?  Is the hardlinked file removed 
and replaced with a brand new file?  Or does switch --force work directly on 
the hardlinked file thus updating all the "copies"?

On the windows side, would replacing a junction cause problems?






Re: Switching

2013-08-23 Thread Les Mikesell
On Fri, Aug 23, 2013 at 1:33 PM, Andrew Reedick
 wrote:
>>
>> I can't, off the top of my head, think of a scenario where it would be
>> harmful to replace an unversioned directory with a versioned instance,
>> leaving any unversioned local files that happen to be there alone.
>> Other than maybe the chance that you'd accidentally commit them later,
>> but that is no different than if you had put the local files in after
>> the switch.  Am I missing something?   Is there a way to --force that
>> without also potentially --force'ing files that conflict to be
>> clobbered?
>>
>
> Dir permissions and ownership would change to that of the current user and 
> umask and could create a security gap, but that probably falls under "if 
> you're using --force, it's on your head".
>
> How are symlinks handled by switch --force?  It fails, or does it look at the 
> target file/dir when deciding whether to replace it with a versioned object?
>
> How are hardlinks handled by switch --force?  Is the hardlinked file removed 
> and replaced with a brand new file?  Or does switch --force work directly on 
> the hardlinked file thus updating all the "copies"?
>
> On the windows side, would replacing a junction cause problems?
>

For this particular case, where the 'unversioned' directory was in
fact created by svn and abandoned instead of being deleted during a
switch to a branch without it, I don't think any of those scenarios
are possible.   But, you are right that in the general case svn would
have to check for special circumstances and raise conflicts if you
have done something weird.

-- 
   Les Mikesell
lesmikes...@gmail.com


Re: Seg fault when committing 'forks' with svn 1.8.1 client

2013-08-23 Thread Ben Reser
On Fri Aug 23 01:36:55 2013, Philip Martin wrote:
> Stephane Odul  writes:
>
>> I have a project that I need to fork (in the same repo):
>> $ svn cp foo bar
>> $ svn rm bar/trunk/some_dir
>> $ svn rm bar/trunk/some_file
>> $ emacs bart/trunk/other_files
>> $ svn ci
>> Segmentation fault: 11
>
> Is that issue 4400?
> http://subversion.tigris.org/issues/show_bug.cgi?id=4400
> If so it should be fixed in 1.8.3.

It is.  I replied last night but apparently only replied to Stephane.



Re: Feature Req: sorthand urls for branches/tags in CLI

2013-08-23 Thread Daniel Shahaf
Branko Čibej wrote on Fri, Aug 23, 2013 at 16:37:47 +0200:
>   * svn mkdir --branch
> Creates a new directory with the svn:branch property set, with an
> empty value
> Example: svn mkdir --branch http://host/repo/trunk

'svn list-branches' would work how?


Planning a SVN upgrade

2013-08-23 Thread Maureen Barger
Hi -
I am currently planning an upgrade from SVN 1.5 (using svnserve and
ssh tunnel) to SVN 1.8.1 fronted with Apache and webdav using AD for
authNz.
We have about 50 repos. I'll be moving from an older Ubuntu 8 install
to Centos 6 x64.

My thought was I could upgrade the SVN installation in place, bringing
the repo up to 1.8 and then dump those repos and bring them online in
the new environment.

We currently use Eclipse as our IDE and Jenkins as our CI tool with
Nexus as the object repo. I was thinking to leave the upgrade of
Eclipse client and svnkit to the indiviidual so they can decide what
direction to take with their working copies et al. I do not foresee
any changes I would need to make to Jenkins or Nexus.

Has anyone made a jump this large before? Any comments about my upgrade plan?

Thanks!


Re: Planning a SVN upgrade

2013-08-23 Thread Mark Phippard
On Fri, Aug 23, 2013 at 4:09 PM, Maureen Barger  wrote:


> I am currently planning an upgrade from SVN 1.5 (using svnserve and
> ssh tunnel) to SVN 1.8.1 fronted with Apache and webdav using AD for
> authNz.
> We have about 50 repos. I'll be moving from an older Ubuntu 8 install
> to Centos 6 x64.
>
> My thought was I could upgrade the SVN installation in place, bringing
> the repo up to 1.8 and then dump those repos and bring them online in
> the new environment.
>

If it were me, I would not upgrade the repositories.  SVN 1.8 can just
serve the old repositories.  I would do the upgrade and only after I was
using it for a while would I then consider to start doing a dump/load on
the repositories.  You could then do them one by one as desired.  The main
benefit in upgrading the repository is to use less disk space.


> We currently use Eclipse as our IDE and Jenkins as our CI tool with
> Nexus as the object repo. I was thinking to leave the upgrade of
> Eclipse client and svnkit to the indiviidual so they can decide what
> direction to take with their working copies et al.


Yes, your clients can already be using 1.8 if they want to.  There is no
need to upgrade the client either before or after the server.  Let the
clients manage it.  Only exception is if there are specific new features
you want to implement across the board.  If you do a lot of branching and
merging, it would be a good idea for the people that do merge to all be
using the same version.  Likewise, there are other features that might be
like this.


> I do not foresee
> any changes I would need to make to Jenkins or Nexus.
>

Just the URL to access the repository will change.

>
> Has anyone made a jump this large before? Any comments about my upgrade
> plan?
>

There is nothing unusual about this.  People have jumped from 1.1 to 1.8.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/


Re: Feature Req: sorthand urls for branches/tags in CLI

2013-08-23 Thread Branko Čibej
On 23.08.2013 21:34, Daniel Shahaf wrote:
> Branko Čibej wrote on Fri, Aug 23, 2013 at 16:37:47 +0200:
>>   * svn mkdir --branch
>> Creates a new directory with the svn:branch property set, with an
>> empty value
>> Example: svn mkdir --branch http://host/repo/trunk
> 'svn list-branches' would work how?

About the same as "svn mergeinfo"? Or how about a variant on "svn
status" that also looks for that prperty? Frankly, I find this problem
infinitesimally small compared to the ones I mentioned in connection
with the proposal given in this thread.

Indexing based on the presence and/or value of a property is a somewhat
orthogonal feature, IMO, but there's been a lot of interest about that
as well (e.g., what did user X commit? sure, you can filter 'svn log'
but that's kinda slow). If/when it appears, "svn list-branches" could
use it. Until it does, we already more than one command that crawls the
whole working copy or repository tree. This one is no different.

-- Brane


-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com


Re: Feature Req: sorthand urls for branches/tags in CLI

2013-08-23 Thread Les Mikesell
On Thu, Aug 22, 2013 at 4:15 PM, Laszlo Kishalmi  wrote:
>>
> I'd propose a -b [--branch] option or extend the meaning of "^" sign for
> those commands which can work with URL-s. Extending ˇ would mean
> that when used as ^/ it means repository root and using it as ^[branch] then
> it would refer to a branch.
>
> How would it work:
>
> Let's imagine the following repository layout:
>  /project1/trunk
>  /project1/trunk/dir1/dir2/dir3/fileA
>  /project1/branches/branchA
>  /project1/branches/branchA/dir1/dir2/dir3/fileA
>  /project1/branches/branchB
>  /project1/branches/branchB/dir1/dir2/dir3/fileA
>  /project1/tags/tag1
>  /project1/tags/tag2

So how do you see this working where your branches have their own sub-levels:
/project1/branches/release/branchA
/project1/branches/qa/branchA
/project1/branches/dev/branchA

Who gets to use the shorthand?

-- 
  Les Mikesell
lesmikes...@gmail.com


how to simply : $svn update ?

2013-08-23 Thread Jay Vee
I do '$svn status'
and get that I am at a certain revision

Type 'svn help' for usage.
cpu:/dir>svn update
At revision 32933.

This leads me to believe that I am fully sync'd with the repo since it
pulled nothing back.

--- I do svn status and see something surprising

cpu:/dir>svn status
?   src/main
?   src/test/java
?   src/test/resources/META-INF

means the above files are not added and do not exist in the remote repo
(but yes they indeed
exist there, If I do a fresh checkout, I see these directories there with
many files.

---
I have not touched this project, and have no idea why it is out of whack.

What I want to do is force sync with the repo.  When I google on this, I am
taken
down long tunnels in various caves with so many confusing solutions.

In my head, I think I should simply be able to do:
  $svn --force update

  or something simple like that.

  How do I do this?

---


RE: how to simply : $svn update ?

2013-08-23 Thread Bob Archer
> I do '$svn status'
> and get that I am at a certain revision
> 
> Type 'svn help' for usage.
> cpu:/dir>svn update
> At revision 32933.
> 
> This leads me to believe that I am fully sync'd with the repo since it pulled
> nothing back.
> 
> --- I do svn status and see something surprising
> 
> cpu:/dir>svn status
> ?       src/main
> ?       src/test/java
> ?       src/test/resources/META-INF
> 
> means the above files are not added and do not exist in the remote repo (but
> yes they indeed exist there, If I do a fresh checkout, I see these directories
> there with many files.
> 
> ---
> I have not touched this project, and have no idea why it is out of whack.
> 
> What I want to do is force sync with the repo.  When I google on this, I am
> taken down long tunnels in various caves with so many confusing solutions.
> 
> In my head, I think I should simply be able to do:
>   $svn --force update
> 
>   or something simple like that.
> 
>   How do I do this?

Try 

svn cleanup

Then check your status. 

Bob



RE: how to simply : $svn update ?

2013-08-23 Thread Andrew Reedick

> From: Jay Vee [mailto:jvsr...@gmail.com] 
> Sent: Friday, August 23, 2013 5:09 PM
> To: users@subversion.apache.org
> Subject: how to simply : $svn update ?
>
> I do '$svn status'
> and get that I am at a certain revision
>
> Type 'svn help' for usage.
> cpu:/dir>svn update
> At revision 32933.
>
> This leads me to believe that I am fully sync'd with the repo since it pulled 
> nothing back.
>
> --- I do svn status and see something surprising
>
> cpu:/dir>svn status
>?       src/main
>?       src/test/java
>?       src/test/resources/META-INF
>
> means the above files are not added and do not exist in the remote repo (but 
> yes they indeed
> exist there, If I do a fresh checkout, I see these directories there with 
> many files.

What's the output of 'svn update'?

Is your workspace really pointed to where you think it's pointing?  Run 'svn 
info' to verify the URL and revision numbers.





Re: Seg fault when committing 'forks' with svn 1.8.1 client

2013-08-23 Thread Stephane Odul
Thanks for the quick replies. Looking forward to svn 1.8.3.


On Aug 23, 2013, at 11:56 AM, Ben Reser  wrote:

> On Fri Aug 23 01:36:55 2013, Philip Martin wrote:
>> Stephane Odul  writes:
>> 
>>> I have a project that I need to fork (in the same repo):
>>> $ svn cp foo bar
>>> $ svn rm bar/trunk/some_dir
>>> $ svn rm bar/trunk/some_file
>>> $ emacs bart/trunk/other_files
>>> $ svn ci
>>> Segmentation fault: 11
>> 
>> Is that issue 4400?
>> http://subversion.tigris.org/issues/show_bug.cgi?id=4400
>> If so it should be fixed in 1.8.3.
> 
> It is.  I replied last night but apparently only replied to Stephane.



Re: Switching

2013-08-23 Thread Ryan Schmidt

On Aug 23, 2013, at 13:31, Les Mikesell wrote:

> On Fri, Aug 23, 2013 at 1:09 PM, Edwin Castro wrote:
> 
>>> I can't, off the top of my head, think of a scenario where it would be
>>> harmful to replace an unversioned directory with a versioned instance,
>>> leaving any unversioned local files that happen to be there alone.
>> 
>> Leaving unversioned local files alone in a directory is not the problem.
> 
> I think it is the problem we've been discussing.  Leaving them means
> you have to keep the containing directory, which becomes unversioned
> as you switch away from the branch having it,

Correct.

> and then a conflict when
> you switch back.

*This* is the problem we're discussing. *This* is what Subversion should be 
smart enough to avoid. None of the discussion I've read thus far gives me a 
convincing explanation for why this should not be possible.



Re: Feature Req: sorthand urls for branches/tags in CLI

2013-08-23 Thread Andreas Mohr
On Fri, Aug 23, 2013 at 10:55:03PM +0200, Branko Čibej wrote:
> On 23.08.2013 21:34, Daniel Shahaf wrote:
> > 'svn list-branches' would work how?
> 
> About the same as "svn mergeinfo"? Or how about a variant on "svn
> status" that also looks for that prperty? Frankly, I find this problem
> infinitesimally small compared to the ones I mentioned in connection
> with the proposal given in this thread.
> 
> Indexing based on the presence and/or value of a property is a somewhat
> orthogonal feature, IMO, but there's been a lot of interest about that
> as well (e.g., what did user X commit? sure, you can filter 'svn log'
> but that's kinda slow). If/when it appears, "svn list-branches" could
> use it. Until it does, we already more than one command that crawls the
> whole working copy or repository tree. This one is no different.

Perhaps it would be worthwhile to have extended ops be implemented
by a helper binary for such extended purposes ("svnstat"? "svnanalyze"?).
That way one would not bloat the usual hotpath workhorse binary with such...
shenanigans :)
(both in performance terms and in usability terms - usage text length...)

But that decision probably depends on the total number of conceivable
"extended" ops. If there's only few high-level op names
which do all the work and options internally,
then one could keep them provided by svn, else...

But keeping them in main binary might still influence overall performance -
unless implementation data of commands
(as possibly opposed to registration data of commands!)
is being provided on-demand only anyway, via shared library dlopen references.

OTOH you could argue that the total amount of SCM sub commands will ultimately
remain limited, thus it's better to keep them aggregated to main binary
and do maximum optimization of that case instead (dlopen etc.).

E.g. git (Jehovah! ;) seems to be doing it that way, and with
external git_load_dirs binary being analogous to svn_load_dirs binary to boot.

Apologies for the long rambling - I had expected it to remain shorter,
but then with all the details added...

Andreas Mohr

-- 
GNU/Linux. It's not the software that's free, it's you.