English 中文(简体)
Can a script be automated after a commit on Perforce?
原标题:

We use Perforce at work, and routinely keep software projects in the repository. In general creators follow the normal Perforce flow, BUT we also have a class of users, who doesn t have any need to edit the files but only read them. Currently we use P4Web but that requires the user so download each file individually to reassemble the project directory. Ideally I would like to have a process where when a user does a commit/submit in Perforce, the script would automatically run to generate a single zip file of the project directory and files, so that it was a one-click download that was guaranteed to be correct against current state of the source files. I know Git has a post-commit hook which could be used for this, but I can t figure out an equivalent function in Perforce.

最佳回答

Short answer: Yes, read the documentation, page 103.

Here is a link to all of the documentation available from Perforce.

Long answer, you can edit the triggers by typing p4 triggers from the command line. You provide the name of the trigger (i.e. "my_archive"), the type of trigger (i.e. change-commit in your case), path (i.e. the //depot/path/to/the/directory/that/contains/the/files/to/zip/...), and the command_path (your script), plus any variables to pass along to your script.

Really, take a look at the docs, it is really quite simple and powerful.

问题回答

If they just need read access, then just give them read access in the p4protect table. That way you avoid having to mess around with snapshots of your repository.





相关问题
What does it mean "to write a web service"?

I just asked a question about whether it was possible to write a web-page-checking code and run it from free web server, and one supporter answered and said that it was possible only if I run "a web ...

How can I use exit codes to run shell scripts sequentially?

Since cruise control is full of bugs that have wasted my entire week, I have decided the existing shell scripts I have are simpler and thus better. Here is what I have so far svn update /var/www/...

Dynamically building a command in bash

I am construcing a command in bash dynamically. This works fine: COMMAND="java myclass" ${COMMAND} Now I want to dynamically construct a command that redirectes the output: LOG=">> myfile.log ...

Why does Scala create a ~/tmp directory when I run a script?

When I execute a Scala script from the command line, a directory named "tmp" is created in my home directory. It is always empty, so I simply deleted it without any apparent problem. Of course, when I ...

Ivy, ant and start scripts

I have a project that uses ant to build and ivy for dependencies. I would like to generate the start scripts for my project, with the classpath, based on the dependencies configured in Ivy, ...

热门标签