How to convert a Subversion repository to a Git repository

I needed to convert several Subversion repositories to Git. Most of my process for this comes from this post. The following are some condensed steps and additional notes.

  1. Work in a new no-metadata folder; this helps keep your working environment isolated, and will let you re-use the users.txt file if you need to do this to multiple repositories. Create the users.txt file and ensure all authors in the repo are listed. To get started, do something like this, where SVN_URL is the URL of the repo:

    svn log -q SVN_URL | awk -F " \\\\| " '/^r/ {print $2" = "$2" <>"}' | sort -u > users.txt
    

    Note that this will preserve spaces in user names, if present (some other snippets you might find are broken and will not). Now edit users.txt and fill in details. You might need to add a (no author) = No Author <no@author.invalid> line, too, if there are any commits which have no author, such as the empty ones created by some techniques that manipulate dump files to purge files.

  2. Use git-svn like this (replace SVN_URL with the correct URL) to clone the repo without metadata; add --stdlayout if using standard branch folders, or as many -T, -t [...]

Read this post

How to add branches to a non-standard Subversion repository in a way that is compatible with git-svn

I found myself in the unusual situation of having a Subversion repository which was created initially without the usual trunk, branches, and tags folders, but where the team found later that, you know, this newfangled “branches” idea might just come in useful after all. If that's all there was to it, I could have just added those folders in a regular commit and continued on. The tricky part was that we also wanted git-svn compatibility, and for it to recognize branches, it needs the folder structure to be in place from the first commit onward.

Unfortunately, there ain't no easy way to achieve this which also preserves the revision numbers. But it is possible. What I had to do was rewrite the first commit manually:

  1. Checkout the original repo at revision 1.
  2. Copy all the files to a new repo, but this time place it under a trunk top-level folder, ensuring everything is otherwise identical inside.
  3. Also add tags and branches top-level folders.
  4. Commit all those using the same commit message as the original.

Now, this commit still doesn't have the same metadata, so I had to then take an svndump of the new repo, and edit that dump so [...]

Read this post

Published in PRX Quantum: Finite-resource performance of small-satellite-based quantum-key-distribution missions

With colleagues at NUS, Singapore, and Strathclyde, UK, we contributed to this study which looked at applying some recent enhancements of QKD analysis techniques to the QEYSSat scenario (among others). Some useful discussions about the state-of-the-art.

T. Islam, J. S. Sidhu, B. L. Higgins, T. Brougham, T. Vergoossen, D. K. L. Oi, T. Jennewein, and A. Ling
Finite-resource performance of small-satellite-based quantum-key-distribution missions
PRX Quantum 5, 030101 (2024)

Read this post

Published in Review of Scientific Instruments: Robotized polarization characterization platform for free-space quantum communication optics

When constructing an optical system for communicating using polarized photons, it's critical that components and subsystems be accurately and comprehensively characterized. Especially so if that system is designed to be sent into space, where any corrections after the fact are, at best, extremely difficult (just ask Hubble). With this in mind, we developed a polarization characterization platform for optical devices based on an imaging polarimeter attached to a six-axis robot arm. In this paper, we describe the device and its performance for characterizing some sample test devices, including a large lens designed for a quantum optical transmitter to a receiver satellite.

Y. S. Lee, K. Mohammadi, L. Babcock, B. L. Higgins, H. Podmore, and T. Jennewein
Review of Scientific Instruments 93, 033101 (2022)

Read this post

How to VNC into a running Plasma session

The easy answer is “have the user run krfb inside the session first”. But what if you are the user, and you're already remote from the host by the time you remember you needed to do that?

You need to have configured krfb with a remote control password and any other relevant settings, first. See below, but typically you've already done this at some point, so you can move straight to the important part:

ssh you@yourserver
DISPLAY=:0.0 krfb --nodialog

Then try to connect using krdc, or your VNC viewer of choice.

What if you don't have the password, etc., configured? Then:

ssh -X you@yourserver
krfb

This will display the window locally. Configure and close. This mode of operation doesn't work for actually showing the remote session, evidently because the X session forwarded though SSH is somehow a new/separate session. The key to showing the remote session is passing that DISPLAY environment variable.

Other thoughts: Have a slow network? Disable key repeat, or it might stutter. Also, sshuttle is very handy if you have limited port forwarding (but it won't help the network speed situation).

Read this post

Published in EPJ Quantum Technology: Repeated radiation damage and thermal annealing of avalanche photodiodes

A big difficulty preventing single-photon communications to a satellite is the detector noise caused by radiation in orbit. In a previous study, we showed that with a combination of sufficient cooling during operation and thermal annealing during maintenance, it should possible to keep this noise low enough to do quantum key distribution. What we could not capture at that time, though, was whether the cycling of cold and hot over the lifetime of a satellite would have any effect, and in particular how the choice of when to anneal would impact this.

In this study, we address this question by applying multiple rounds of radiation to a flight-like apparatus, and quantifying its performance between each round, over a two-year-equivalent accelerated irradiation campaign. We used two devices, one of which was annealed at regular intervals, the other conditional on the noise counts exceeding a predefined threshold. In the end we found a very slight benefit to the conditional strategy for maintaining good performance through the entire satellite nominal lifetime, and significantly beyond.

I. DSouza, J.-P. Bourgoin, B. L. Higgins, J. G. Lim, R. Tannous, S. Agne, B. Moffat, V. Makarov, and T. Jennewein

Read this post


Page 1 of 9 | Next →