WriteAttributes permission required to commit in v1.7.8 but not v1.6.17

2013-02-27 Thread jimbobmcgee
Hi all;

We have been using v1.6.17 as a rudimentary change monitoring system for
certain Windows server config files, for a few years now (a nightly
script emails the output of `svn status` if not empty).  I have been
looking at the possibility of upgrading this to v1.7.8 (the first 1.7.x
release I have tried), but it appears that committing now requires the
'WriteAttributes' permission on each file.  It did not in v1.6.17.

Granting the WriteAttributes permission just for this purpose is
awkward, at best (particularly given that many of the files I am
monitoring are owned by the abominable 'NT SERVICE\TrustedInstaller'
account).

In any case, if I do actually take ownership and grant this permission
to the file, svn.exe appears to try to change the file creation date to
01/01/1601 and set the 'N' attribute (which appears to stand for 'Not
indexed').  Why does it need to do this in v1.7.8 but not v1.6.17?  Is
it an oversight, or part of some new operation I am not aware of? 
Surely the act of committing shouldn't /change/ the file it is
committing, should it?

A good working example (on Windows Server 2008 R2, if you have
Microsoft.NET v3.5 installed) is at
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default.
 This file is owned by TrustedInstaller, with Administrators having
Read/Execute only.  In v1.6.17, `svn commit` will succeed but, in
v1.7.8, `svn commit` will throw `Cannot set file ... read-write: Access
is denied`.

I have attached Procmon64 exports showing the commit operation on this
file in v1.6.17 (svn1617.csv), v1.7.8 with the normal permissions
(svn178_restricted.csv) and once again after I had granted
WriteAttributes to the file (svn178_allowed.csv).  

The pertinent entries from above (transposed for easier reading) are
below:

-- from svn178_restricted.csv -
Time= 12:25:19.3938787
Process Name= svn.exe
PID = 292
Operation   = CreateFile
Path=
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default 
Result  = ACCESS DENIED
Detail  = Desired Access: Write Attributes, Synchronize, 
  Disposition: Open, 
  Options: Synchronous IO Non-Alert, Open Reparse Point, 
  Attributes: n/a, 
  ShareMode: Read, Write, Delete, 
  AllocationSize: n/a

-- from svn178_allowed.csv -
Time = 13:02:26.6088387
Process Name = svn.exe
PID  = 384
Operation= SetBasicInformationFile
Path =
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default
Result   = SUCCESS
Detail   = CreationTime: 01/01/1601 00:00:00, 
   LastAccessTime: 01/01/1601 00:00:00, 
   LastWriteTime: 01/01/1601 00:00:00, 
   ChangeTime: 01/01/1601 00:00:00, 
   FileAttributes: AN

The condensed results of `svn --version` from both versions are as
follows:

svn, version 1.6.17-SlikSvn-tag-1.6.17@1130898-X64 (SlikSvn/1.6.17) X64
   compiled Jun  3 2011, 07:48:11
Copyright (C) 2000-2009...
The following repository access (RA) modules are available: ra_neon,
ra_svn, ra_local, ra_serf

svn, version 1.7.8-SlikSvn-1.7.8-X64 (SlikSvn/1.7.8) X64 
  compiled Jan 11 2013, 16:31:23
Copyright (C) 2012...
The following repository access (RA) modules are available: ra_neon,
ra_svn, ra_local, ra_serf

Can anyone shed some light on this?

Regards
J
"Time of Day","Process Name","PID","Operation","Path","Result","Detail"
"13:02:25.8023178","svn.exe","384","CreateFile","C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default","SUCCESS","Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened"
"13:02:25.8023387","svn.exe","384","QueryNetworkOpenInformationFile","C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default","SUCCESS","CreationTime: 13/07/2009 20:46:44, LastAccessTime: 13/07/2009 20:46:44, LastWriteTime: 10/06/2009 21:22:49, ChangeTime: 27/02/2013 13:02:03, AllocationSize: 01/01/1601 00:00:00, EndOfFile: 01/01/1601 00:00:00, FileAttributes: A"
"13:02:25.8023506","svn.exe","384","CloseFile","C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default","SUCCESS",""
"13:02:25.8104473","svn.exe","384","CreateFile","C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default","SUCCESS","Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened"
"13:02:25.8104649","svn.exe","384","QueryNetworkOpenInformationFile","C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.default","SUCCESS","CreationTime: 13/07/2009 20:46:44, LastAccessTime: 13/07/2009 20:46:44, LastWriteTime: 10/06/2009 21:22:49, ChangeTime: 2

Re: Is SVN-1.6.12 compatible with Rhel6u2?

2013-02-27 Thread Kriparam Faraday
Thanks for the suggestion. But, the Rhel5u6(production server) runs
perfectly fine. My problems are while running Collabnet-svn-1.6.12 on
Rhel6u2.


On Tue, Feb 26, 2013 at 5:23 PM, Nico Kadel-Garcia  wrote:

> On Tue, Feb 26, 2013 at 11:35 AM, Kriparam Faraday 
> wrote:
> > Hi,
> > I just stood up an exact replica of a collabnet subversion
> > server(version=1.6.12 and configured to run as apache subversion). I have
> > enabled ssl(using an existing ssl cert from the production box).
> >
> > I am able to access the server using my browsers or svn clients like
> > smartSVN or TortoiseSVN. But, when I hit refresh(F5) on the repo-browser
> of
> > TortoiseSVN client, I see an error like this:
> > "Server sent unexpected return value (400 Bad Request) in response to
> > OPTIONS request for
> https://xx.xx.xx.xx/xx/ad/test-repo1/branches/newname";
> >
> > I am not able to reproduce this error on the production server. The only
> > difference between the production and this backup is:
> > (1) Production is on a Rhel5u6 and the backup is on Rhel6u2. I was not
> able
> > to find any OS compatibility document for svn-1.6.12
>
> RedHat's copy of subversion is out of date on RHEL. You're quite
> welcome to my updated versions published at repoforge in the "extras"
> repositories, or my tools for building Subversoin 1.6.20 and 1.7.8
> RPM's available at:
>
> https://github.com/nkadel/subversion-1.6.20-srpm/
> https://github.com/nkadel/subversion-1.7.8-srpm/
>
> > (2) Production has a valid ssl certificate. Backup is using the ssl
> > certificate from production.
> >
> > These are the logs I see:
> > ssl_request_log
> > [25/Feb/2013:07:53:42 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "OPTIONS
> > /xx/ad/test-repo1/branches/newname HTTP/1.1" 300
> >
> > ssl_access_log
> > xx.xx.xx.xx - - [25/Feb/2013:07:53:42 -0500] "OPTIONS
> > /xx/ad/test-repo1/branches/newname HTTP/1.1" 400 300
> >
> > ssl_error_log
> > [Mon Feb 25 07:53:42 2013] [error] [client xx.xx.xx.xx] request failed:
> > error reading the headers
> >
> > after this failure, I get subsequent failure log like the following
> until I
> > restart the client:
> >
> > ssl_request_log
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "OPTIONS
> > /xx/ad/test-repo1/trunk HTTP/1.1" 401
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "OPTIONS
> > /xx/ad/test-repo1/trunk HTTP/1.1" 196
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/trunk HTTP/1.1" 702
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/vcc/default HTTP/1.1" 414
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/bln/4 HTTP/1.1" 465
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/trunk HTTP/1.1" 702
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/vcc/default HTTP/1.1" 414
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/bln/4 HTTP/1.1" 465
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/trunk HTTP/1.1" 702
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/vcc/default HTTP/1.1" 465
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/bc/4/trunk HTTP/1.1" 1329
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA "REPORT
> > /xx/ad/test-repo1/trunk HTTP/1.1" 112
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/trunk HTTP/1.1" 702
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/vcc/default HTTP/1.1" 465
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/bc/4/trunk HTTP/1.1" 430
> > [25/Feb/2013:09:21:46 -0500] xx.xx.xx.xx TLSv1 DHE-RSA-AES256-SHA
> "PROPFIND
> > /xx/ad/test-repo1/!svn/bc/4/trunk HTTP/1.1" 1298
> >
> > ssl_access_log
> > xx.xx.xx.xx - - [25/Feb/2013:09:21:46 -0500] "OPTIONS
> > /xx/ad/test-repo1/trunk HTTP/1.1" 401 401
> > xx.xx.xx.xx - username1 [25/Feb/2013:09:21:46 -0500] "OPTIONS
> > /xx/ad/test-repo1/trunk HTTP/1.1" 200 196
> > xx.xx.xx.xx - username1 [25/Feb/2013:09:21:46 -0500] "PROPFIND
> > /xx/ad/test-repo1/trunk HTTP/1.1" 207 702
> > xx.xx.xx.xx - username1 [25/Feb/2013:09:21:46 -0500] "PROPFIND
> > /xx/ad/test-repo1/!svn/vcc/default HTTP/1.1" 207 414
> > xx.xx.xx.xx - username1 [25/Feb/2013:09:21:46 -0500] "PROPFIND
> > /xx/ad/test-repo1/!svn/bln/4 HTTP/1.1" 207 465
> > xx.xx.xx.xx - username1 [25/Feb/2013:09:21:46 -0500] "PROPFIND
> > /xx/ad/test-repo1/trunk HTTP/1.1" 207 702
> > xx.xx.xx.xx - username1 [25/Feb/201

Severe Problem with one repo

2013-02-27 Thread Scott Miller
Hi,

I am using  Subversion 1.6.12 (r955767 on an Ubuntu server.  SVN has been
up and running a long time and had very few, if any, problems.  Last week I
needed to make for new repos.  Three went just fine.

The fourth has been a problem.  Here is a history of what happened and what
I did.

I used svnadmin and created the repo on the server.

Using TortoiseSVN I checked it out to my Win7 desktopy.  I created
trunk,tags and branches folders and committed them to the repo.  Then I
took all the production code from our ubuntu server and copied it into a
subdirectory named public inside the trunk directory.  Everything went as
expected until this point.

Then I tried to commit all this code to the repo.  It failed due to lack of
disk space.  This turned out to be correct, I freed up disk space deleted
the repo directory and started the whole process again.  This time when I
went to commit all the code I got a Cannot write to the prototype revision
file of transaction '1-5' becasuse a previous reperesntation is currently
being written by another process.


I again deleted everything restarted the server, restarted my desktop.  It
still did not work.

I looked through the code I was trying to upload and found that at one
point it must have been part of some repo because in many subdirectories
there were .svn folders.  On my desktop I deleted them all.

This time I deleted and restarted everything and even used different folder
and directory names,  I still get an error.  Commit failed
Cannot write to the prototype revision file fo the transaction '1-1'
becasuse a previous reperesntation is currently being written by another
process.

Where do I go from here?

Scott


Re: Severe Problem with one repo

2013-02-27 Thread Daniel Shahaf
Scott Miller wrote on Wed, Feb 27, 2013 at 10:26:20 -0800:
> Then I tried to commit all this code to the repo.  It failed due to lack of
> disk space.  This turned out to be correct, I freed up disk space deleted
> the repo directory and started the whole process again.  This time when I
> went to commit all the code I got a Cannot write to the prototype revision
> file of transaction '1-5' becasuse a previous reperesntation is currently
> being written by another process.
> 

Did it say "by another process" or "by this process"?

> 
> I again deleted everything restarted the server, restarted my desktop.  It
> still did not work.
> 
> I looked through the code I was trying to upload and found that at one
> point it must have been part of some repo because in many subdirectories
> there were .svn folders.  On my desktop I deleted them all.
> 
> This time I deleted and restarted everything and even used different folder
> and directory names,  I still get an error.  Commit failed
> Cannot write to the prototype revision file fo the transaction '1-1'
> becasuse a previous reperesntation is currently being written by another
> process.
> 

Did it say "by another process" or "by this process"?

Asking because you repeated the "becasuse" and "reperesntation" typoes
twice, which indicates you copied the error message from your mail
rather than from your stderr.



Re: Severe Problem with one repo

2013-02-27 Thread Scott Miller
It did say by another process both times.


> Did it say "by another process" or "by this process"?
>
> >
> > I again deleted everything restarted the server, restarted my desktop.
>  It
> > still did not work.
> >
> > I looked through the code I was trying to upload and found that at one
> > point it must have been part of some repo because in many subdirectories
> > there were .svn folders.  On my desktop I deleted them all.
> >
> > This time I deleted and restarted everything and even used different
> folder
> > and directory names,  I still get an error.  Commit failed
> > Cannot write to the prototype revision file fo the transaction '1-1'
> > becasuse a previous reperesntation is currently being written by another
> > process.
> >
>
> Did it say "by another process" or "by this process"?
>
> Asking because you repeated the "becasuse" and "reperesntation" typoes
> twice, which indicates you copied the error message from your mail
> rather than from your stderr.
>
>


Re: Severe Problem with one repo

2013-02-27 Thread Daniel Shahaf
Scott Miller wrote on Wed, Feb 27, 2013 at 10:26:20 -0800:
> Hi,
> 
> I am using  Subversion 1.6.12 (r955767 on an Ubuntu server.  SVN has been
> up and running a long time and had very few, if any, problems.  Last week I
> needed to make for new repos.  Three went just fine.
> 
> The fourth has been a problem.  Here is a history of what happened and what
> I did.
> 
> I used svnadmin and created the repo on the server.
> 
> Using TortoiseSVN I checked it out to my Win7 desktopy.  I created
> trunk,tags and branches folders and committed them to the repo.  Then I
> took all the production code from our ubuntu server and copied it into a
> subdirectory named public inside the trunk directory.  Everything went as
> expected until this point.
> 
> Then I tried to commit all this code to the repo.  It failed due to lack of
> disk space.  This turned out to be correct, I freed up disk space deleted
> the repo directory and started the whole process again.  This time when I
> went to commit all the code I got a Cannot write to the prototype revision
> file of transaction '1-5' becasuse a previous reperesntation is currently
> being written by another process.
> 
> 
> I again deleted everything restarted the server, restarted my desktop.  It

Does "restart" mean "apachectl -k restart", "reboot", or something else?

Do you happen to have multiple versions of libapr (ignore libapr-util)?

Are all repositories on the same filesystem and mount point?  Is it
a local or network mount?

> still did not work.
> 
> I looked through the code I was trying to upload and found that at one
> point it must have been part of some repo because in many subdirectories
> there were .svn folders.  On my desktop I deleted them all.
> 
> This time I deleted and restarted everything and even used different folder
> and directory names,  I still get an error.  Commit failed
> Cannot write to the prototype revision file fo the transaction '1-1'
> becasuse a previous reperesntation is currently being written by another
> process.
> 
> Where do I go from here?
> 
> Scott


Re: Tagging svn:externals

2013-02-27 Thread BRM
> From: Les Mikesell 

> To: BRM 
> Cc: "users@subversion.apache.org" 
> Sent: Tuesday, February 26, 2013 6:12 PM
> Subject: Re: Tagging svn:externals
> 
> On Tue, Feb 26, 2013 at 4:29 PM, BRM  wrote:
>> 
>>>  How can a script possibly know the correct tag for an external target
>>>  which is currently pointing at the trunk in a repository that permits
>>>  concurrent operations?
>> 
>>  In my example, it would simply update, then pull the revision number to 
> generate the peg
>>  revision information in the svn:externals data, essentially:
>> 
>>  ^/somePath@r1829 -r 1829
>> 
>>  The "1829" portion is easily scriptable to find.
> 
> But that's not what I want.  I want the externals in tags to point to
> previously tagged component versions.  Without forcing that to be
> committed to the trunk or encouraging copying to tags from a workspace
> that doesn't match any trunk commit.

From that description, it'll have to be a manual process that you run from 
within your working copy.
Just update the svn:externals appropriately and then do an "svn update".
You can test whatever you like without committing.
 
>>  As you can probably guess, I'm a big fan of "trunk is 
> prestine"; mostly because I'm a
>>  big fan of doing things in a very structured, deterministic way.
> 
> I'm a fan of not cluttering the repository with unnecessary branches,
> and in making it simple for everyone involved to pick up each others'
> changes sooner rather than later.   And in getting determinism through
> consistent tagging, and only using release tags where determinism
> matters.

So if you don't need a branch, delete it.
Personally I do an "svn del" on any branch that I no longer need - whether 
abandoned or reintegrated.
This keeps the branch list short, and (more importantly) relevant.
The nice thing with Subversion is that you can still get to all those old 
branches.

>>  You seem to be wanting
>>  that determinism. It'd be interesting to see what a big fan of 
> "trunk is dirty" would say
>>  for how to do the same thing; but somehow I suspect you can't do it 
> while maintaining
>>  the determinism.
> 
> The question is just about what would be considered "best practice" in
> where/how that change between an unpinned external and one pointing to
> a separately released tagged version should happen.  I don't think
> whether the ongoing work is a branch or trunk matters.   As long there
> is continuing (possibly concurrent) development in the location before
> you make the tag, you have to decide whether to (a) make another
> branch just to hold this change, (b) commit the change back to the
> development location, then undo it after the tag copy, (c) copy to the
> tag from a modified working copy, or (d) change it in the tag,
> violating the 'tags never change' convention?   I personally don't
> like the idea of tagging from a modified working copy because of the
> possibility that other changes with no history can accidentally be
> brought along.

Let me propose this:

For QA, let them do a simple modified working copy to get the svn:externals 
where you want them; but then they are not allowed to commit or make other 
changes.
You'll have to decide how you want bug fixes to be interacted with; but that 
will provide what you've been describing.

For developers, they can do whatever you like.

Again, as I've noted it comes down to what policies you want your team to 
follow.

Ben



Re: Tagging svn:externals

2013-02-27 Thread Les Mikesell
On Wed, Feb 27, 2013 at 4:14 PM, BRM  wrote:
>>
>> But that's not what I want.  I want the externals in tags to point to
>> previously tagged component versions.  Without forcing that to be
>> committed to the trunk or encouraging copying to tags from a workspace
>> that doesn't match any trunk commit.
>
> From that description, it'll have to be a manual process that you run from 
> within your working copy.
> Just update the svn:externals appropriately and then do an "svn update".
> You can test whatever you like without committing.

Everything is built by jenkins and has to come from the repository.
Things in uncommitted workspaces aren't necessarily repeatable.

>> I'm a fan of not cluttering the repository with unnecessary branches,
>> and in making it simple for everyone involved to pick up each others'
>> changes sooner rather than later.   And in getting determinism through
>> consistent tagging, and only using release tags where determinism
>> matters.
>
> So if you don't need a branch, delete it.
> Personally I do an "svn del" on any branch that I no longer need - whether 
> abandoned or reintegrated.
> This keeps the branch list short, and (more importantly) relevant.
> The nice thing with Subversion is that you can still get to all those old 
> branches.

That's a not-so-nice thing too.  The repo is growing at about 10
gigs/year.  While I realize that extra tags/branches are a very small
part of the problem I don't want to encourage unnecessary clutter
until there is some reasonable way to reorganize and actually remove
things.

>> The question is just about what would be considered "best practice" in
>> where/how that change between an unpinned external and one pointing to
>> a separately released tagged version should happen.  I don't think
>> whether the ongoing work is a branch or trunk matters.   As long there
>> is continuing (possibly concurrent) development in the location before
>> you make the tag, you have to decide whether to (a) make another
>> branch just to hold this change, (b) commit the change back to the
>> development location, then undo it after the tag copy, (c) copy to the
>> tag from a modified working copy, or (d) change it in the tag,
>> violating the 'tags never change' convention?   I personally don't
>> like the idea of tagging from a modified working copy because of the
>> possibility that other changes with no history can accidentally be
>> brought along.
>
> Let me propose this:
>
> For QA, let them do a simple modified working copy to get the svn:externals 
> where you want them; but then they are not allowed to commit or make other 
> changes.

Won't work - it has to be committed somewhere or it won't be built.

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


Re: Tagging svn:externals

2013-02-27 Thread BRM
> From: Les Mikesell 

> To: BRM 
> Cc: "users@subversion.apache.org" 
> Sent: Wednesday, February 27, 2013 5:30 PM
> Subject: Re: Tagging svn:externals
> 
> On Wed, Feb 27, 2013 at 4:14 PM, BRM  wrote:
>>> 
>>>  But that's not what I want.  I want the externals in tags to point to
>>>  previously tagged component versions.  Without forcing that to be
>>>  committed to the trunk or encouraging copying to tags from a workspace
>>>  that doesn't match any trunk commit.
>>  From that description, it'll have to be a manual process that you run 
> from within your working copy.
>>  Just update the svn:externals appropriately and then do an "svn 
> update".
>>  You can test whatever you like without committing.
> Everything is built by jenkins and has to come from the repository.
> Things in uncommitted workspaces aren't necessarily repeatable.
,,,
>>  Let me propose this:
>> 
>>  For QA, let them do a simple modified working copy to get the svn:externals 
> where you want them; but then they are not allowed to commit or make other 
> changes.
> 
> Won't work - it has to be committed somewhere or it won't be built.

Perhaps then you need a different tool.
For example, git-svn[1] is might be what you want.

When something is ready for QA it is pushed to a git repository for Jenkins to 
pick up.
How you change the externals in the process I'm not sure; but it would at least 
give you
a trackable repository that would mimick a modified working copy.

Otherwise I think you're out of luck if you don't want to (i) commit to trunk, 
or (ii) create a branch,
but still want to track it in the repository somehow.

Ben

[1] https://www.kernel.org/pub/software/scm/git/docs/git-svn.html



Re: Tagging svn:externals

2013-02-27 Thread Les Mikesell
On Wed, Feb 27, 2013 at 4:44 PM, BRM  wrote:
>>
>> Won't work - it has to be committed somewhere or it won't be built.
>
> Perhaps then you need a different tool.
> For example, git-svn[1] is might be what you want.
>
> When something is ready for QA it is pushed to a git repository for Jenkins 
> to pick up.
> How you change the externals in the process I'm not sure; but it would at 
> least give you
> a trackable repository that would mimick a modified working copy.
>
> Otherwise I think you're out of luck if you don't want to (i) commit to 
> trunk, or (ii) create a branch,
> but still want to track it in the repository somehow.

No, I think the choices are to tag from the working copy or commit a
change after making the tag.  But neither seem like the tool is
designed to do what I'd expect to be a common operation cleanly.

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