[Roxygen-devel] [roxygen2] roxygenise, setGeneric and .svn directory

meik michalke meik.michalke at uni-duesseldorf.de
Mon Aug 15 20:10:28 CEST 2011


hi hadley,

am Montag 15 August 2011 (12:21) schrieb Hadley Wickham:
> man : ls -lh .svn
> total 8
> -r--r--r--   1 hadley  wheel   3.4K Aug 15 10:16 entries
> drwxr-xr-x   2 hadley  wheel    68B Aug 15 10:16 prop-base
> drwxr-xr-x   2 hadley  wheel    68B Aug 15 10:16 props
> drwxr-xr-x  23 hadley  wheel   782B Aug 15 10:16 text-base
> drwxr-xr-x   5 hadley  wheel   170B Aug 15 10:16 tmp
> 
> So the entries directory does not have write permission by default.

"entries" is a file, not a directory. i get >50 warnings like, you maybe have 
to repeat the roxygenize() call:

1: In file.create(to[okay]) :
  cannot create file 
'/tmp/roxample/roxydir//tmp/roxample/trunk/klausuR//.svn/entries', reason 
'Permission denied'
2: In file.create(to[okay]) :
  cannot create file 
'/tmp/roxample/roxydir//tmp/roxample/trunk/klausuR//.svn/text-
base/ChangeLog.svn-base', reason 'Permission denied'
3: In file.create(to[okay]) :
  cannot create file 
'/tmp/roxample/roxydir//tmp/roxample/trunk/klausuR//.svn/text-
base/DESCRIPTION.svn-base', reason 'Permission denied'
4: In file.create(to[okay]) :
  cannot create file 
'/tmp/roxample/roxydir//tmp/roxample/trunk/klausuR//.svn/text-
base/NAMESPACE.svn-base', reason 'Permission denied'
5: In file.create(to[okay]) :
  cannot create file 
'/tmp/roxample/roxydir//tmp/roxample/trunk/klausuR//R/.svn/entries', reason 
'Permission denied'
...

these also include dirs like ".svn/text-base/" which does have write 
permissions. even more odd, the files are actually created:

 $ ls -la klausuR/.svn/text-base/
total 16
drwxr-xr-x 2 m m  100 Aug 15 11:53 .
drwxr-xr-x 6 m m  140 Aug 15 11:53 ..
-r--r--r-- 1 m m 5911 Aug 15 11:53 ChangeLog.svn-base
-r--r--r-- 1 m m  685 Aug 15 11:53 DESCRIPTION.svn-base
-r--r--r-- 1 m m  477 Aug 15 11:53 NAMESPACE.svn-base

 $ ls -la roxydir/tmp/roxample/klausuR/.svn/text-base/
total 16
drwxr-xr-x 2 m m  100 Aug 15 11:56 .
drwxr-xr-x 3 m m   80 Aug 15 11:56 ..
-r--r--r-- 1 m m 5911 Aug 15 11:56 ChangeLog.svn-base
-r--r--r-- 1 m m  685 Aug 15 11:56 DESCRIPTION.svn-base
-r--r--r-- 1 m m  477 Aug 15 11:56 NAMESPACE.svn-base

> Not sure what the right thing to do here is.

judging by the time stamps, which won't be updated after a first round, 
roxygenize() seems to try to write those files at least a second time after 
they have already been copied (i mean within one call). which perhaps fails 
because of some "overwrite=FALSE" or so. but apart from that, it would be a 
clean solution to skip all version control system directorys like .svn, .cvs 
... completely. they can be copied to "roxygen.dir", but roxygenize() actually 
has no business to even read them afterwards, there's nothing to be done in 
those dirs. if it would do any changes below .svn/, it could even mess up the 
versioning system completely.

> >> Is the a reason you're not roxygenising in place?
> > 
> > well then, is there a reason why roxygen2 offers "roxygen.dir" in the
> > first place?
> 
> For compatibility with roxygen.

hm, it *does* behave differently ;-)

> I've always worked in place.
> 
> But why are you doing it?

i started that way, to see if the process ends cleanly, before i overwrite the 
existing docs. ok, i could also do backups before, revert from svn or similar. 
i wouldn't really lose work if it went berzerk. but since it worked fine 
before, it would mean less trouble to leave it that way.

but i think this is not an issue whether doing it in place is better or worse, 
but that there is an option which simply doesn't work like it says it would. 
if the philosophy now is more like "don't use theis feature", trying to should 
perhaps only trigger a message that the option is now deprecated. as long as 
it is actually there, i think it should just work. maybe a regular expression 
excluding common VCS directories would do the trick.

and so that no-one gets the impression i'm complaining all day: i *really* 
admire the speed improvement! like, a lot!!! one of my packages takes almost 
half an hour to fully roxygenize() with the old package, so i only do that "at 
the end of the day". i cannot use roxygen2 on that one yet, because it seems 
to not support @slot, so i'd lose parts of my docs on S4 classes. but i've 
compared it using two other packages, very impressive. i'm thinking of making 
those class docs static for the moment, they don't really change anyway...


viele grüße :: m.eik

-- 
  dipl. psych. meik michalke
  abt. f"ur diagnostik und differentielle psychologie
  institut f"ur experimentelle psychologie
  heinrich-heine-universit"at
  geb"aude 23.03.00.26         |  tel +49 (0)211 8113498
  d-40204 d"usseldorf          |  fax +49 (0)211 8111753
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.r-forge.r-project.org/pipermail/roxygen-devel/attachments/20110815/ddd67177/attachment-0001.pgp>


More information about the Roxygen-devel mailing list