I don't have any other comments.

--Mark


>>>> webrev is here:
>>>>    http://cr.opensolaris.org/~vkotal/webrev_delete-6771203.onnv/
>> The date in the .TH section of the manpage should be updated.
> 
> grr, I always forget to update this one. fixed.
> 
>> webrev.sh:
>> 171, 236: When do you ever call this inappropriately?  This message 
>> doesn't seem particularly useful to the user, what does it really mean 
>> that they need to change?
> 
> Only during development. It's basically additional safety net so it can 
> be removed. They were added at the time when delete_webrev() had 2 
> arguments and forgot to specify one of them.
> 
>> 241-243: I'm not 100% confident that these are what you want.  If I read 
>> them correctly.  Can't a remote_target specification be of the form
>>
>>     protocol://[usern...@]host.spec[:port]/
>>
>> ?
> 
> Let's look at the parsing in delete_webrev() first:
> 
>        240 +        # Strip the transport specification part of remote 
> target first.
>        241 +        typeset -r stripped_target=${remote_target##*://}
>        242 +        typeset -r host_spec=${stripped_target%%:*}
>        243 +        typeset -r dir_spec=${stripped_target##*:}
> 
> delete_webrev() accepts target specification in form 
> protocol://[usern...@]hostname[:path]. The assignment on line 241 strips 
> the protocol prefix, line 242 takes the username+hostname part and line 
> 243 the directory specification.
> 
> The full URI (remote_target, which is global variable) is used in 
> webrev_delete() in order to avoid special casing when calling it from 
> ssh_upload() because it already has the protocol prefix stripped.
> 
> As for the port specification, this is not possible to do in remote 
> target URI. Instead ssh_config(4) and Port directive should be used.
> 
>> Specific questions:
>> - Do the host_spec and dir_spec assignments need to account for the 
>> optional "username@" portion?  Or does the stripped_target assignment 
>> need to also strip that?
> 
> No, rsync(1)/ssh(1) will cope with that.
> 
>> - I can believe that you won't see multiple occurrences of "://" in the 
>> remote_target spec, so ## seems appropriate, but what about ":" 
>> characters?  It seems like the correct complement to "%%:*" would be 
>> "#*:" instead of "##*:" ?
>>
>> Of course, if we're always talking remote_host:remote_path, then what's 
>> here makes sense, as long as ":" is not a legal character?
> 
> Good catch. fixed.
> 
>> 252-259: You're assuming two things here, and I think only one of them 
>> is correct.  (1) The remote_target is the path to the top level 
>> directory of the webrev to be removed (this is valid).  (2) The top 
>> level directory of the webrev to be removed lives at the top of the 
>> default directory tree for sftp (this is invalid).
>>
>> You might avoid the second assumption by adding a "cd" command to the 
>> batch file used by sftp?  In any event, the following two remote_target 
> 
> sftp does not allow to do that.
> 
>> specifications should BOTH work correctly for user mjnelson:
>>
>>     cr.opensolaris.org:webrev.481
>>     cr.opensolaris.org:toolsreview/webrev.bugs
>>
>> ...because they're both real paths.
> 
> This will work fine (but only after I fixed it since there was indeed a 
> bug in dir_rm handling). This is because 'rename foo/bar/my_webrev 
> .trash/removed.3141' will do the right thing and move just the 
> 'my_webrev' directory. The 'foo/bar' will stay.
> 
> I've added a comment to the -t option to explain the behavior.
> 
>> 273: So we're really collecting "deleted" webrevs forever?  Or is there 
>> something special about a ".trash" directory that isn't mentioned in the 
>> sftp manpage?  This seems evil: isn't part of the goal here to maintain 
>> a smaller footprint?  How do users REALLY get rid of them, or even known 
>> that they SHOULD?
> 
> On cr.opensolaris.org, the '.trash' directory is part of every user's 
> directory and is purged periodically. This is done because of sftp's 
> inability to recursively delete a directory. But I guess you know this.
> 
> It's indeed bad to make webrev.sh specific to one host so I made the 
> trash directory configurable (via env var) and added a note to the man page.
> 
>> 273: Does rename fail if the target name already exists?
> 
> Yes. That's why it is using process ID to lower the possibility.
> 
>> 280: Is this useful to the user?
> 
> Yes, because check is non-zero and this means -D was used by itself, 
> i.e. the user explicitly wants to remove the remote webrev. It is fair 
> to tell him that it failed.
> 
>> 2475: s/implicates/implies/
> 
> fixed.
> 
> Incremental webrev is here:
>    http://cr.opensolaris.org/~vkotal/webrev_delete-6771203.onnv.rd1/
> 
> 
> v.
> _______________________________________________
> scm-migration-dev mailing list
> scm-migration-dev at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/scm-migration-dev


Reply via email to