How to Maintain "timestamp" in Repository & Working copy ?

231 views
Skip to first unread message

Phil Pinkerton

unread,
Oct 11, 2011, 10:42:20 AM10/11/11
to us...@subversion.apache.org
I have a request to keep the "commit" timestamps associated with the
file in the working copy the same.

Is that possible ? most users have their working copy on a Windows OS ,
Subversion Server is on a Unix Server ( not that that matters ).

Is there a parameter in TortoiseSVN perhaps ?


Tony Sweeney

unread,
Oct 11, 2011, 10:48:31 AM10/11/11
to Phil Pinkerton, us...@subversion.apache.org


-----------------------------------------------

In the TortoiseSVN settings menu, "General" section, there is a setting
'Set file dates to the "last commit time"' -- is that perhaps what you
want?

Tony.


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________

-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 10.0.1410 / Virus Database: 1520/3943 - Release Date: 10/07/11

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________

Phil Pinkerton

unread,
Oct 11, 2011, 11:31:05 AM10/11/11
to Tony Sweeney, us...@subversion.apache.org
How might this be done in a script where the command line is used ?

Andy Levy

unread,
Oct 11, 2011, 11:44:01 AM10/11/11
to Phil Pinkerton, Tony Sweeney, us...@subversion.apache.org

In %APPDATA%\Subversion\config for the user the script is running as, set:

use-commit-times = yes

If you set it here, Tortoise should also pick it up for that same user.

From the command line you can also use the following option:

--config-option config:miscellany:use-commit-times=yes

This is documented in the output of svn help co.

Phil Pinkerton

unread,
Oct 11, 2011, 11:48:59 AM10/11/11
to Tony Sweeney, us...@subversion.apache.org
On 10/11/2011 10:48 AM, Tony Sweeney wrote:
>
>
So what I found looks like I'll need to mess with the client side
register parameters? , not nice on a production server.

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store"
"#log-encoding"=""
"#use-commit-times"="" < ------------------- Set this to yes and drop
the comment I suppose will do the trick
"#no-unlock"=""
"#enable-auto-props"=""

use-commit-times
Normally your working copy files have timestamps that reflect the last
time they were touched by any process, whether your
own editor or some svn subcommand. This is generally convenient for
people developing software, because build systems often
look at timestamps as a way of deciding which files need to be recompiled.
In other situations, however, it's sometimes nice for the working copy
files to have timestamps that reflect the last time they
were changed in the repository. The svn export command always places
these “last-commit timestamps” on trees that it produces.
By setting this config variable to yes, the svn checkout, svn update,
svn switch, and svn revert commands will also
set last-commit timestamps on files that they touch.

Tony Sweeney

unread,
Oct 11, 2011, 11:56:35 AM10/11/11
to Phil Pinkerton, us...@subversion.apache.org

-------------------8<---------------------

Edit the subversion local configuration in either
$HOME/.subversion/config or %APPDATA%\Subversion\config and uncomment
the entry for use-commit-times:

### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
# use-commit-times = yes

Andy Levy

unread,
Oct 11, 2011, 11:58:58 AM10/11/11
to Phil Pinkerton, Tony Sweeney, us...@subversion.apache.org

Normally, one does not have TortoiseSVN on a production server in the
first place. Better to use tools which can be automated cleanly
(command-line, etc.) for hands-off deployments.

> [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
> "#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store"
> "#log-encoding"=""
> "#use-commit-times"="" < -------------------    Set this to yes and drop the
> comment I suppose will do the trick
> "#no-unlock"=""
> "#enable-auto-props"=""

Note that because the setting is in HCU, it will need to be set for
*each user* who might be doing things on this server. This holds true
for setting it in %APPDATA%\Subversion\config as well.

Settings in the registry will override %APPDATA%\Subversion
configuration settings (that's my experience, anyway); specifying it
at the command line (see my other reply) should trump both.

Phil Pinkerton

unread,
Oct 11, 2011, 2:17:42 PM10/11/11
to Andy Levy, Tony Sweeney, us...@subversion.apache.org
Too bad there is not a global way to set this

Johan Corveleyn

unread,
Oct 11, 2011, 5:39:21 PM10/11/11
to Phil Pinkerton, Andy Levy, Tony Sweeney, us...@subversion.apache.org

You can also set it system-wide (i.e. applying to all users on that
particular client machine), both on Windows and on *nix. On Windows,
either through the registry in
HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany,
or in the %APPDATA% of the default user (I think).

But it's still a client-side setting, you have to configure it on each client.

See http://svnbook.red-bean.com/en/1.6/svn.advanced.confarea.html.

--
Johan

Reply all
Reply to author
Forward
0 new messages