<div dir="ltr">On Tue, Oct 2, 2012 at 8:24 PM, Victor Garcia <<a href="mailto:bravejolie@gmail.com">bravejolie@gmail.com</a>> wrote:<br>><br>> # HG changeset patch<br>> # User victor<br>> # Date 1349202168 -7200<br>
> # Node ID 6172601e7f7b3d7c8c3539e2758cfba8ab0784a4<br>> # Parent  e5d3b0aa48e6ab79531204f61e25ee335b306df3<br>> client: add purge command<div><br></div><div>Thanks for sending this here.</div><div><br>><br>> Adding the purge command to hglib. Since it's an extension, appending<br>
> '--config extensions.hgext.purge=' to enable it</div><div><br></div><div>Like I said earlier once an extension is enabled, it lingers in the cmdserver</div><div>process forever (since they're managed in a global variable). I guess that's</div>
<div>harmless here.</div><div><br></div><div>><br>> diff -r e5d3b0aa48e6 -r 6172601e7f7b hglib/client.py<br>> --- a/hglib/client.py   Tue Jan 17 17:15:47 2012 -0600<br>> +++ b/hglib/client.py   Tue Oct 02 20:22:48 2012 +0200<br>
> @@ -1511,6 +1511,29 @@<br>>          counters = out.rstrip().split(', ')<br>>          return tuple(int(s.split(' ', 1)[0]) for s in counters)<br>><br>> +    def purge(self, files, all=False, include=None, exclude=None):</div>
<div><br></div><div>By the looks of hg purge -h it looks like the signature you gave here</div><div>doesn't match:</div><div><br></div><div>- purge can be invoked without arguments</div><div>- files should be called dirs (with a default)</div>
<div>- -a, -p and -0 are missing</div><div><br></div><div>> +        """<br>> +        Purge the files specified by parameters. It physically removes<br>> the non-tracked files from the file system.<br>
> +<br>> +        Return True on success<br>> +<br>> +        all - revert all changes when no arguments given</div><div><div><br></div><div>purge -h says "--all purge ignored files too"?</div><div><br>
</div>> +        include - include names matching the given patterns<br>> +        exclude - exclude names matching the given patterns</div><div>> +</div><div>> +        """<br>> +        if not isinstance(files, list):<br>
> +            files = [files]<br>> +<br>> +        args = cmdbuilder('purge',<br>> +                all=all, I=include, X=exclude, *files)<br>> +        args.extend(['--config', 'extensions.hgext.purge='])<br>
> +<br>> +        eh = util.reterrorhandler(args)<br>> +        self.rawcommand(args, eh=eh)<br>> +<br>> +        return bool(eh)<br>> +<br>>      @property<br>>      def version(self):<br>>          """<br>
</div></div>