return 0;
        }
 
-       if (argc >= 2 && !strcmp(argv[1], "make_absolute_path")) {
+       if (argc >= 2 && !strcmp(argv[1], "real_path")) {
                while (argc > 2) {
-                       puts(make_absolute_path(argv[2]));
+                       puts(real_path(argv[2]));
+                       argc--;
+                       argv++;
+               }
+               return 0;
+       }
+
+       if (argc >= 2 && !strcmp(argv[1], "absolute_path")) {
+               while (argc > 2) {
+                       puts(absolute_path(argv[2]));
                        argc--;
                        argv++;
                }
                return 0;
        }
 
+       if (argc >= 4 && !strcmp(argv[1], "prefix_path")) {
+               char *prefix = argv[2];
+               int prefix_len = strlen(prefix);
+               int nongit_ok;
+               setup_git_directory_gently(&nongit_ok);
+               while (argc > 3) {
+                       puts(prefix_path(prefix, prefix_len, argv[3]));
+                       argc--;
+                       argv++;
+               }
+               return 0;
+       }
+
        if (argc == 4 && !strcmp(argv[1], "strip_path_suffix")) {
                char *prefix = strip_path_suffix(argv[2], argv[3]);
                printf("%s\n", prefix ? prefix : "(null)");