Hi all, I'd like to file a bug in Subversion 1.9.1 and 1.9.0, but I'm not sure if it's a deliberate behavior. The problem was not encountered in Subversion 1.7.6, which we used for a long time. I didn't find anything concerning this issue in the change log.
Summary: -------------- The "svn switch" command updates a file's timestamp, if the property svn:keywords is set. Subversion Version: 1.9.1, 1.9.0 ------------------------- svn, version 1.9.1 (r1698128) compiled Sep 1 2015, 19:50:43 on x86-microsoft-windows Operating System: Windows 7 Professional, Service Pack 1 ------------------------ Description: --------------- If a file under subversion control has the property svn:keyword set and is switched to a different location in the repository, the timestamp of the file is updated to the current time. If svn:keyword is not set, the file's timestamp is not updated. This problem was not encountered in Subversion 1.7.6 we used for a long time before. We have a problem with the new behavior, because our build-system (based on gmake) will compile more or less everything, after a tag has been created and the working copy is switched to that tag, because the file timestamps are updated. To demonstrate the behavior I've built and attached a small Windows batch file (I renamed it test.b_t), you are able to execute simply on every PC. I have attached the output test.txt as well. I've shortened the output of the dir command a little bit, so that only the file date remains. The prompt is set to ':' To use the batch file, you have to change the switch commands to your specific repository location. For simplicity, the switch command switches the file to itself. This is sufficient to demonstrate the problem. Behavior: ------------- 1.) File foo.c is created and added to the repository. 2.) No properties have been automatically set. 3.) The files timestamp is shown by dir command 4.) After 1 minute wait the svn switch command is executed - The file date does not change, since svn:keywords is not set. 5.) After another minute the svn:keywords property is set and commited. 6.) After a wait of another minute, the switch command is executed again - the file's timestamp is changed instantly. 7.) After another minute the the svn:keywords are deleted and committed. 8.) After a final wait the switch command is executed again and the timestamp is not changed. Best Regards, Dirk -- Funkwerk Engineering GmbH Dirk Wolfram Max-Giese-Str. 22, 24116 Kiel, Germany Phone: +49 431 990 818-22 Fax:+49 431 990 818-51, email: dirk.wolf...@funkwerk-sc.com Location: Kiel, Local Court Kiel, HRB: 10441 KI Managing Director: Jens-Torsten Langhammer Disclaimer: Please be informed that the content of e-mails has just informative character. Especially e-mails with commercial or contractual content will only be binding for Funkwerk Engineering GmbH if this content is confirmed in writing by letter or fax duly undersigned by two representatives of Funkwerk Engineering GmbH. Es wird ausdrücklich darauf aufmerksam gemacht, dass die Inhalte von E-mails rein informativen Charakter haben. Sie können keine geschäftserhebliche und/oder rechtsverbindliche Wirkung entfalten. Funkwerk Engineering GmbH ist nur an den Inhalt der E-mails gebunden, wenn dieser schriftlich entweder durch Brief oder durch Fax unterschrieben von zwei Personen bestätigt wird.
:echo "Test" 1>foo.c :svn add foo.c A foo.c :svn commit -m "Added foo" foo.c :svn proplist foo.c ######## No properties for foo.c ####### :dir foo.c 15.09.2015 20:21 9 foo.c ######### foo.c has been added to repository - and we wait 1 minute ####### :sleep 61 :svn switch https://tetra.funkwerk-sc.com/test/project2/trunk/src/module2/test/foo.c foo.c :dir foo.c 15.09.2015 20:21 9 foo.c ######### foo.c has been switched ####### :sleep 61 :svn propset svn:keywords "" foo.c property 'svn:keywords' set on 'foo.c' :svn commit -m "Added empty property svn:keyword" foo.c :svn proplist foo.c Properties on 'foo.c': svn:keywords :dir foo.c 15.09.2015 20:21 9 foo.c ######### foo.c now has property svn:keywords and we wait another minute ####### :sleep 61 :svn switch https://tetra.funkwerk-sc.com/test/project2/trunk/src/module2/test/foo.c foo.c :dir foo.c ######### foo.c has a new timestamp after switch - and we wait another minute####### :sleep 61 :svn propdel svn:keywords foo.c property 'svn:keywords' deleted from 'foo.c'. :svn commit -m "Removed property svn:keywords" foo.c :dir foo.c 15.09.2015 20:25 9 foo.c ######## property svn:keywords removed - we wait 1 last minute######## :sleep 61 :svn switch https://tetra.funkwerk-sc.com/test/project2/trunk/src/module2/test/foo.c foo.c :dir foo.c 15.09.2015 20:25 9 foo.c ######## No change of date after 1 Minute ########
test.b_t
Description: test.b_t