Skip to content

UI is a little broken when the branch hierarchy is very flat #5

@sbc100

Description

@sbc100

I believe a relatively flat branch heirachy is also likely the most common.

See my current, very flat, emscripten branches:

○                                  EMSCRIPTEN_FORCE_COMPILERS
│○                                 JSEvents
││○                                array_elements
│││○                               async_createWasm
││││○                              async_exports
│││││○                             async_js_compiler
││││││○                            atomics
│││││││○                           bump_min_node_version
││││││││○                          check_deps
│││││││││○                         common_build_dir
││││││││││○                        emld
│││││││││││○                       emscripten_longjmp
││││││││││││○                      event_loop_tests
│││││││││││││○                     file_packager
││││││││││││││○                    flake8_issues
│││││││││││││││○                   isPointerType
││││││││││││││││○                  jstoi_s
│││││││││││││││││○                 llvm_stable
││││││││││││││││││○                modularize_closure
││││││││││││││││││○                minimal_modularize
│││││││││││││││││││○               missing_js_symbols
││││││││││││││││││││○              modularise_legacy
│││││││││││││││││││││○             move_entry_points
│││││││││││││││││││││○             remove_entry_points
││││││││││││││││││││││○            optimize_preprocess
│││││││││││││││││││││││○           pthread_library
││││││││││││││││││││││││○          pthread_stub_init
│││││││││││││││││││││││││○         remove_jstoi_q
││││││││││││││││││││││││││○        rename_src_dir
│││││││││││││││││││││││││││○       sdl3_ttf
││││││││││││││││││││││││││││○      settings_yaml
│││││││││││││││││││││││││││││○     test_assets
││││││││││││││││││││││││││││││○    test_asyncify_indirect_lists
│││││││││││││││││││││││││││││││○   test_file_packager_overlapping
││││││││││││││││││││││││││││││││○  wasmfs_all_backends
│││││││││││││││││││││││││││││││││○ wasmfs_mount
○┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘ upstream/main

Most of these branches are at the same level but the UI doesn't really show that.

Here is how depot-tools git map-branches would show the same thing:

{NO_UPSTREAM}
  refactor-newFunc *
  rollup_zlib
    bundler_testing
upstream/main
  EMSCRIPTEN_FORCE_COMPILERS
  JSEvents
  array_elements
  async_createWasm
  async_exports
  async_js_compiler
  atomics
  bump_min_node_version
  check_deps
  common_build_dir
  emld
  emscripten_longjmp
  event_loop_tests
  file_packager
  flake8_issues
  isPointerType
  jstoi_s
  llvm_stable
  minimal_modularize
    modularize_closure
  missing_js_symbols
  modularise_legacy
  optimize_preprocess
  pthread_library
  pthread_stub_init
  remove_entry_points
    move_entry_points
  remove_jstoi_q
  rename_src_dir
  sdl3_ttf
  settings_yaml
  test_assets
  test_asyncify_indirect_lists
  test_file_packager_overlapping
  wasmfs_all_backends
  wasmfs_mount

(note the nesting to denote hierarchy)

If I add -v I get:

$ git map-branches  -v
{NO_UPSTREAM}                                              
  refactor-newFunc *                                       
  rollup_zlib                                              
    bundler_testing                 [ 1 commit             ]
upstream/main                                              
  EMSCRIPTEN_FORCE_COMPILERS        [ 1 commit  | behind 7 ]
  JSEvents                          [ 1 commit  | behind 7 ]
  array_elements                    [ 1 commit  | behind 7 ]
  async_createWasm                  [ 1 commit  | behind 7 ]
  async_exports                     [ 1 commit  | behind 7 ]
  async_js_compiler                 [ 1 commit  | behind 7 ]
  atomics                           [ 1 commit  | behind 7 ]
  bump_min_node_version             [ 1 commit  | behind 7 ]
  check_deps                        [ 6 commits | behind 7 ]
  common_build_dir                  [ 1 commit  | behind 1 ]
  emld                              [ 1 commit  | behind 7 ]
  emscripten_longjmp                [ 1 commit  | behind 7 ]
  event_loop_tests                  [ 1 commit  | behind 7 ]
  file_packager                     [ 1 commit  | behind 7 ]
  flake8_issues                     [ 1 commit  | behind 7 ]
  isPointerType                     [ 1 commit  | behind 7 ]
  jstoi_s                           [ 1 commit  | behind 7 ]
  llvm_stable                       [ 1 commit  | behind 7 ]
  minimal_modularize                [ 1 commit  | behind 7 ]
    modularize_closure              [ 1 commit             ]
  missing_js_symbols                [ 1 commit  | behind 7 ]
  modularise_legacy                 [ 1 commit  | behind 7 ]
  optimize_preprocess               [ 1 commit  | behind 7 ]
  pthread_library                   [ 1 commit  | behind 7 ]
  pthread_stub_init                 [ 1 commit  | behind 7 ]
  remove_entry_points               [ 1 commit  | behind 7 ]
    move_entry_points               [ 1 commit             ]
  remove_jstoi_q                    [ 1 commit  | behind 7 ]
  rename_src_dir                    [ 1 commit  | behind 7 ]
  sdl3_ttf                          [ 1 commit  | behind 7 ]
  settings_yaml                     [ 1 commit  | behind 7 ]
  test_assets                       [ 1 commit  | behind 7 ]
  test_asyncify_indirect_lists      [ 1 commit  | behind 7 ]
  test_file_packager_overlapping    [ 1 commit  | behind 7 ]
  wasmfs_all_backends               [ 1 commit  | behind 7 ]
  wasmfs_mount                      [ 2 commits | behind 7 ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions