Thursday, 11 November 2010

Perforce like client specs mappings with Mercurial

We recently moved from Perforce to Mercurial and love it!

One little problem: after much research we can't figure out how to map a special directory in the repository to some special place on the client. Here is an example of our hg repo:

/foo/source files/bar/source files/build /macosx/mac make files /win/windows make files

With Perforce, we were using client spec mappings to map //depot/build/macosx/... to just /build/... on the Mac client, and //depot/build/win/... to /build/... on the Windows dev box. Directories foo and bar are synced as is. Makefiles in /foo and /bar assume that our build makefiles are located in /build and we would like to keep them as is. The final client set of files should look like this:

/foo/source files/bar/source files/build/client specific make files

I've read about subrepos, but this solution does not seem to be client specific.

Any idea how to solve this problem will be very much appreciated!


View the original article here

Wednesday, 10 November 2010

How to get the last Perforce change list synced to a specific directory by non-local client spec (cmd line)?

I'm trying to return the last change list synced to a specific directory per client spec. I've researched this pretty heavily and am starting to think it's impossible. This is what I have so far:

p4 changes -m1 @

This will return the last change list synced to the passed in client spec, which I can then parse the CL out from. Example of output:

Change 798261 on 2010/11/08 by asdf@specname 'description...'

From that, I can easily parse out the change list: 798261.

What I'm trying to do is get similar output, but for a specific directory that's mapped in the client spec that's passed into the command. I know the -d flag usually lets you specify a directory in perforce commands, but p4 changes doesn't support the -d flag. This is what I'm going for if the -d flag was supported in p4 changes:

p4 changes -m1 -d /root/appname/bin/...@

In theory, if the -d flag was supported, this would return the last CL synced to /root/appname/bin through the passed in client spec. Is there any way to do this? Is there a p4 command I'm missing that would let me specify the directory and get the last CL synced to that directory? Any suggestions are greatly appreciated.

Thanks!


View the original article here

Junior Build and QA Engineer

Computer People are currently recruiting for a Junior Build & QA Engineer to work for a rapidly expanding eCommerce and IT solutions provider based in High Wycombe.

In this role you will build, test, deploy and support a wide range of website for external clients, using a wide range of exciting technologies.

Indeed, you will undertake builds via a build process, using Ant and Perforce and support automatic builds to the staging environment (Linux) and set up new projects/ release in Perforce. You will also Quality Assure other developer SQL scripts, as well as basic Testing work and also provide application support to live products.

To be suitable for this Junior QA and Build Engineer role, you will ideally be IT degree educated (or equivalent) and have the following essential skills:
* Ant build scripts
* Source Control Management and tools especially Perforce
* Java/ Web application development or support experience.

Desirable skills include:
* JBoss
* SQL
* Experience of Linux servers and shell scripting
* Continuous Integration especially CruiseControl
* JIRA
* Groovy

So if you are a graduate in an IT / Computer Science related field, with a desire to work for a fast growing company as a Build and QA Engineer role……please send your CV to me ASAP.


View the original article here

Passing Flags to the Perforce Proxy Service

How do I pass flags to the Perforce Proxy Service?

Starting with release 2005.2, the P4POPTIONS environment variable allows you to pass command line options to the Perforce Proxy Service. For details, see the section on P4POPTIONS in the Command Reference.

It is not possible to pass flags to the Perforce Proxy service in releases prior to 2005.2.


View the original article here

Monday, 8 November 2010

Perforce 2009.2 P4 User's Guide

Perforce 2009.2 P4 User's GuideTells you how to use the P4 command line interface to perform SCM tasks.

Price:


Click here to buy from Amazon

Data Warehouse QA Engineer

A Global Online Betting Company is looking for an experienced Data Warehousing QA Engineer to join their team in London.

Candidates should have a strong hands-on knowledge of SQL and PL/ SQL along with an ability to read and understand PL-SQL code and provide review comments to developers and design, develop and execute test cases against the Oracle data warehouse. Extensive Oracle 9i/ 10g experience and experience of testing large-scale OLTP systems and/ or data warehouses is required to successfully fulfil the role. A working knowledge of data warehousing-related concepts (including replication, star schema design, OLAP) and proficiency in black box and white box testing techniques is also expected. Good knowledge of programming in Core Java, a solid understanding of source control systems (preferably Perforce) and a Bachelor's Degree in Computer Science is also required.

The chosen applicant will be responsible for preparing test scenarios based on requirements in JIRA and discussion with various stakeholders. He/ She will prepare and execute test cases in fast paced sprints, provide quality testing of Data Warehouse releases and revise and maintain regression test pack following all DW releases. The QA Analyst will also help with the generation of test data for developers when required and work with front-end automation QA engineers from other teams to help build a system that generates repeatable source data for the warehouse. He/ She will be expected to work with all members of the extended DW team to ensure timely delivery of quality code and continuously strive to expand test coverage within the DW.

Candidates should submit their CV in the first instance. The pay rate is negotiable but dependent entirely on experience.


View the original article here

git-p4 cloned repo contains mixed filename case -- how to fix?

I imported a large repo using git-p4, and discovered that I have some strangely mixed-case filenames, e.g.:

dirA/DIRb/file1.txt

and then other files like so:

DIRa/dirB/FILE2.txt

and so on. These get entered into the repo this way because git-p4 uses fast-import. This causes Git to mysteriously claim that there are untracked directories, which are definitely not untracked, and have no new files in them. I discovered from reading this question:

http://stackoverflow.com/questions/3446929/git-still-untracked-after-add

and specifically slayerIQ's answer, that this can be fixed by renaming the dirs in question to have the matching case. And indeed, in a few cases where files had only a single case format, this fixed it. But for the mixed up ones like I mentioned above, it does nothing. This sort of listing confirms my suspicions regarding the case:

git ls-tree --name-only -r branch

I've considered using history rewriting to try to fix it, but that seems awfully heavyweight and I'm a bit hesitant to go there unless I have to (the tree is ~25K files). On the other hand, I do "git status" on a clean tree and get a list of about 35 "untracked" paths. So it's sort of untenable.

I'm able to do a git-p4 clone from scratch if I need to, but I suspect the mixed case paths are coming from Perforce itself. SmartGit doesn't have this problem with the tree, and copying the exact tree to a new repo works fine (since it's added correctly).

Any ideas on how to proceed?

Thanks :)


View the original article here